ZBLOG

HTMLBodyElement.prototype.appendChild = function (node) { console.log('A node is being appended to the body:', node); // 调用原始的 appendChild 方法以执行实际操作 return originalBodyAppendChild.call(this, node); }; 如何获取node参数中所有的src或者href

要获取 node 参数中的所有 srchref 属性,你需要检查 node 是否是一个元素节点(例如 <script><link><img> 等),并根据节点的类型提取相应的属性。

以下是修改后的代码示例,展示如何在 appendChild 方法中实现这一点:

  1. // 保存原始的 appendChild 方法
  2. const originalBodyAppendChild = HTMLBodyElement.prototype.appendChild;
  3. HTMLBodyElement.prototype.appendChild = function (node) {
  4. console.log('A node is being appended to the body:', node);
  5. // 如果 node 是一个元素节点,检查它的 src 和 href 属性
  6. if (node.nodeType === Node.ELEMENT_NODE) {
  7. const src = node.getAttribute('src');
  8. const href = node.getAttribute('href');
  9. // 输出 src 和 href 的值(如果存在)
  10. if (src) {
  11. console.log('Found src:', src);
  12. }
  13. if (href) {
  14. console.log('Found href:', href);
  15. }
  16. }
  17. // 调用原始的 appendChild 方法以执行实际操作
  18. return originalBodyAppendChild.call(this, node);
  19. };

解释:

  1. 保存原始方法:我们先保存原始的 appendChild 方法,以便后续可以调用。
  2. 检查节点类型:在添加节点之前,我们确认该节点是一个元素节点 (Node.ELEMENT_NODE)。
  3. 获取属性:使用 getAttribute() 方法获取 src 或者 href 属性,并进行相应的输出。

这样,当你将任何带有 srchref 的元素添加到 <body> 中时,控制台都会输出这些属性值。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=18875

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?