【发布时间】:2010-06-13 17:56:52
【问题描述】:
我编写了一个简单的 jQuery 脚本来更改链接的哈希标记。我这样做是因为我在 Wordpress 中使用 IntenseDebate cmets,但评论链接仍然链接替换旧 cmets 的 id。我正在使用 jQuery,因此如果启用了 javascript,用户可以单击 cmets 链接,它会将他们带到 IntenseDebate cmets。如果未启用,它将带他们到传统的 cmets(因为 IntenseDebate 需要 javascript 才能运行)。
我遇到的问题在于此脚本更改链接末尾的哈希标记。当前 URL “someurl.com/#respond”,但我需要脚本将其更改为“someurl.com/#cmets”。发生的事情是脚本不起作用,但是我相信我的语法是正确的,所以我决定尝试将代码复制并粘贴到 Firebug 的控制台中,并且代码完美执行。我可以看到我试图更改的链接现在是正确的,我可以单击它并且它可以按我的意愿工作。所以我不明白为什么代码没有在应该执行的时候执行。我正在使用 $(document).ready() 并且页面上有其他执行得很好的 jQuery。我什至在一个简单的 HTML 页面上对其进行了测试,远离了 Wordpress 可能引起的所有问题,我收到了相同的结果。有谁知道为什么会发生这种情况?
这是我的代码(我使用 noConflict 是因为 Wordpress 使用了其他框架):
jQuery.noConflict();
jQuery(document).ready(function($) {
$("a[href$='respond']").each(function() {
this.href = this.href.replace("respond", "comments");
});
})(jQuery);
非常感谢您的帮助!
【问题讨论】:
标签: javascript jquery wordpress dom