diff --git a/files/zh-cn/web/api/htmlslotelement/index.md b/files/zh-cn/web/api/htmlslotelement/index.md
index 03def72c7711ec..05522acc0af284 100644
--- a/files/zh-cn/web/api/htmlslotelement/index.md
+++ b/files/zh-cn/web/api/htmlslotelement/index.md
@@ -1,26 +1,65 @@
---
title: HTMLSlotElement
slug: Web/API/HTMLSlotElement
+l10n:
+ sourceCommit: 9d5c9fbe387ba7c143fdd7c73a265b209b7f6ec4
---
-{{SeeCompatTable}}{{APIRef('Web Components')}}
+{{APIRef('Web Components')}}
-[Shadow DOM API](/zh-CN/docs/Web/API/Web_components/Shadow_DOM) 的接口 HTMLSlotElement 使其能够访问到 HTML 元素 \ 的名字和分配的节点
+[影子 DOM API](/zh-CN/docs/Web/API/Web_components/Using_shadow_DOM) 的 **`HTMLSlotElement`** 接口用于访问 HTML {{HTMLElement("slot")}} 元素的名称和分配的节点。
-## 属性
+{{InheritanceDiagram}}
+
+## 实例属性
+
+_还继承了其父接口 {{domxref("HTMLElement")}} 的属性。_
- {{domxref('HTMLSlotElement.name')}}
- - : {{domxref("DOMString")}}: 可以用来设置和获取 slot 的名字
+ - : 用于获取和设置插槽的名称的字符串。
+
+## 实例方法
-## 方法
+_还继承了其父接口 {{domxref("HTMLElement")}} 的方法。_
+- {{domxref('HTMLSlotElement.assign()')}}
+ - : 将此插槽的手动分配节点设置为给定的节点。
- {{domxref('HTMLSlotElement.assignedNodes()')}}
- - : Returns the sequence of elements assigned to this slot, or alternatively the slot's fallback content.
+ - : 返回分配给该插槽的节点序列。如果 `flatten` 选项设置为 `true`,则返回分配给该插槽的节点序列,以及分配给该插槽的任何后代插槽的节点序列。如果未找到已分配的节点,则返回插槽的回退内容。
+- {{domxref('HTMLSlotElement.assignedElements()')}}
+ - : 返回分配给该插槽的元素序列(且不包括其他节点)。如果 `flatten` 选项设置为 `true`,则返回分配给该插槽的元素序列,以及分配给该插槽所有后代插槽的元素序列。如果未找到分配的元素,则返回插槽的回退内容。
+
+## 事件
+
+_还继承了其父接口 {{domxref("HTMLElement")}} 的事件。_
+
+使用 {{DOMxRef("EventTarget.addEventListener", "addEventListener()")}} 或通过将事件监听器赋值给该接口的 `oneventname` 属性来监听这些事件。
+
+- {{domxref('HTMLSlotElement.slotchange_event', 'slotchange')}}
+ - : 当插槽中包含的节点发生变化时,在 `HTMLSlotElement` 实例([``](/zh-CN/docs/Web/HTML/Element/slot) 元素)上触发此事件。
+
+## 示例
+
+以下代码片段来自我们的 [slotchange 示例](https://github.com/mdn/web-components-examples/tree/main/slotchange)([也可以在线查看](https://mdn.github.io/web-components-examples/slotchange/))。
+
+```js
+let slots = this.shadowRoot.querySelectorAll("slot");
+slots[1].addEventListener("slotchange", (e) => {
+ let nodes = slots[1].assignedNodes();
+ console.log(
+ `插槽“${slots[1].name}”中的元素已更改为“${nodes[0].outerHTML}”。`,
+ );
+});
+```
+
+在这里,我们获取所有插槽的引用,然后为模板中的第二个插槽添加一个 slotchange 事件监听器——这个插槽在示例中不断更改其内容。
+
+每次插入到插槽中的元素发生变化时,我们会在控制台记录一条报告,指出哪个插槽发生了变化,以及插槽内的新节点是什么。
## 规范
{{Specifications}}
-## 浏览器的兼容性
+## 浏览器兼容性
{{Compat}}