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 方法中实现这一点:

// 保存原始的 appendChild 方法
const originalBodyAppendChild = HTMLBodyElement.prototype.appendChild;

HTMLBodyElement.prototype.appendChild = function (node) {
    console.log('A node is being appended to the body:', node);

    // 如果 node 是一个元素节点,检查它的 src 和 href 属性
    if (node.nodeType === Node.ELEMENT_NODE) {
        const src = node.getAttribute('src');
        const href = node.getAttribute('href');

        // 输出 src 和 href 的值(如果存在)
        if (src) {
            console.log('Found src:', src);
        }
        if (href) {
            console.log('Found href:', href);
        }
    }

    // 调用原始的 appendChild 方法以执行实际操作
    return originalBodyAppendChild.call(this, node);
};

解释:

  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

注册

已经有帐号?