【发布时间】:2015-04-22 15:00:38
【问题描述】:
我正在尝试使用 jQuery 更改 href 的内容。我在这个网站上找到了很多很好的答案,并试图用这个来实现它:
How to change the href for a hyperlink using jQuery
我将它包裹在这样的 if 语句中:
if(window.location.href == "http://test.com/Home.aspx"){
$("a[href='https://www.surveymonkey.com/s/tester123']").attr('href', 'https://www.surveymonkey.com/s/tester234');
}
我已经放置了一些控制台日志,它们显示正在到达这行代码,并且:
$("a[href='https://www.surveymonkey.com/s/tester123']")
正在返回正确的链接。但是,当我检查页面源时,href 值永远不会被替换。
我正在使用http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js?build=7111092
我有点纠结于如何调试问题所在,谁能帮忙发现它?希望这只是一个愚蠢的错误!
--编辑--
我现在也使用检查元素检查了它,不幸的是它没有被替换。
还要感谢 @Vohuman 和 @roxxypoxxy 提供有关除非我将鼠标悬停在它上面才能看到更改的信息。愚蠢地我期待它像查找/替换一样工作!
【问题讨论】:
-
“但是,当我检查页面源时,href 值永远不会被替换。”。您应该检查元素并查看 DOM 元素的实时表示。
-
页面源是页面源,不能更改(幸好)客户端...
-
我刚刚通过检查元素检查了它,不幸的是它仍然是一样的。
-
页面源永远不会被 javascript 的 DOM 操作改变。要验证您的 href 替换是否有效,您可以将鼠标悬停在链接上并在状态栏中查看它指向的链接。
-
这是jsfiddle.net/3vaqn2qt/1 的 jsfiddle 我添加了在外部资源下提供的相同版本的 jquery,它可以正常工作您可以将鼠标悬停在链接上以显示它显示以
tester234结尾的 href
标签: javascript jquery html href