Skip to content

DOM 树、查询与安全变更:练习答案 ​

querySelector、closest 与静态边界 ​

querySelectorAll 返回静态 NodeList;新增节点不会出现在旧结果中。事件委托中用 closest('[data-id]') 后还要检查 container.contains(node),避免把容器外节点误当成目标。

节点身份、clone 与 replace ​

cloneNode(true) 复制结构和属性,但不会复制通过 addEventListener 注册的监听器。replaceWith 会让旧节点脱离文档;若旧节点持有定时器或观察器,必须先调用清理函数。

textContent、attributes 与 HTML 边界 ​

用户输入使用 textContent;只有经过明确白名单清洗的受信 HTML 才能进入 innerHTML。练习中输入 <img src=x onerror=alert(1)> 后,安全实现应显示原文本且不执行脚本;答案要记录 DOM 结构和控制台结果。

章节入口核对 ​

以下入口对应本章概览或综合练习,答案核对沿用本章各知识点的实现与日志。

用心记录每一步成长