You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

检查href含dnlink的链接添加rel=sponsored,jQuery代码失效如何解决?

代码不生效的常见原因及修复方案

  • 原因1:代码执行时DOM未完成加载
    如果你把这段JS放在<head>标签里,执行时页面的<a>标签还没渲染到DOM树中,$("a")取不到任何元素,自然不会生效。
    修复方法:把代码包裹在jQuery的DOM就绪回调中,确保DOM完全加载后再执行逻辑,同时补充href存在性判断,避免无href属性的a标签触发indexOf报错打断执行:

    $(document).ready(function() {
      $("a").each(function() {
        const link = $(this).attr("href")
        if(link && link.indexOf("dnlink") > -1) {
          $(this).attr("rel","sponsored");
        } 
      });
    })
    

    也可以直接把JS代码放到</body>闭合标签之前,同样能保证执行时DOM已经加载完成。

  • 原因2:待处理的a标签是动态生成的
    如果目标a标签是页面加载完成后,通过接口请求、用户交互等逻辑动态插入到页面中的,页面加载时执行的遍历逻辑不会覆盖后续新增的元素。
    修复方法:在动态生成a标签的逻辑执行完成后,重新调用一次上述遍历代码;如果无法确定动态插入时机,可以用MutationObserver监听DOM节点变化,自动识别新增的a标签做处理。

  • 原因3:jQuery未正确引入或者$符被占用
    可以打开浏览器控制台输入$,检查返回结果是不是jQuery对象,如果返回报错或者其他对象,说明jQuery没有引入成功,或者$别名被其他库占用,把代码里的$替换成jQuery即可。


内容的提问来源于stack exchange,提问作者Paolo Battiloro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 14:27:04