加载外部 JavaScript,然后从结果中删除 href 属性

3

我正在尝试在JavaScript中加载一个插件,在加载完成后创建一个HTML表格。

例如:

<td class="foo"><a class="bar" href="http://example.com">Example</a></td>

表格中有链接,我想删除href属性,使结果看起来像这样:

<td class="foo"><a class="bar">Example</a></td>

我尝试了以下jQuery代码:

function myfunction() {
        $("td a").each(function(){
            if($(this).hasClass("bar")){
                $(this).removeAttr("href");
            }
        });
    };

参考资料:http://www.tutorialrepublic.com/faq/how-to-remove-clickable-behavior-from-a-disabled-link-using-jquery.php 我也尝试了 onload="myFunction()" ,但是也没有起作用。
为什么这个方法不能用?非常感谢任何帮助!
2个回答

3

你试过这些吗:

$(window).load(function(){
    myFunction();
})

非常感谢您快速且高质量的回复! - bauhausweb

2

你面临的问题是,内容是在完整文档加载后添加的。你应该使用.on()方法来调用你的函数或运行脚本。

$(".widget").on("load", function(){
    alert("It was loaded/ load your function/write your code here.");
});

注意,.widget和load是我的假设。如果问题仍然存在,您最好使用正确的值或提供jsfiddle或代码来诊断问题。

谢谢您的回复。我没有用_on("load")_使其工作,但第一条评论已经帮助我解决了问题 :) - bauhausweb
好的,但是每当您通过ajax或其他方式加载新内容到文档中时,您将不得不使用.on()或.live()方法。即使您将$(".widget")替换为$(window),这个.on方法也是可以的 :) - user2505019
这是最终结果的Codepen链接,它运行得很好:Codepen链接 当然,我很想看到“on(“load”)”示例的工作原理,所以请随意fork这个Codepen :) - bauhausweb
我已经fork了它。即使我已经删除了锚点标签。但如果有必要,请告诉我,我会fork另一个不会删除它的。 - user2505019
谢谢 - 但是 fork 的链接在哪里? - bauhausweb
很酷,非常感谢你的努力和抽出时间来帮助我 @user2505019 :) - bauhausweb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接