使用 jQuery .attr 替换 href link

Replacing a href link using jQuery .attr

我正在尝试使用 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']")

正在返回正确的 link。但是,当我检查页面源代码时,href 值永远不会被替换。

我正在使用 http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js?build=7111092

我对如何调试问题有点困惑,任何人都可以帮助发现它吗?希望这只是一个愚蠢的错误!

--编辑--

我现在也使用 inspect element 检查了它,不幸的是它没有被替换。

还要感谢@Vohuman 和@roxxypoxxy 提供的信息,除非我将鼠标悬停在它上面,否则无法看到更改。愚蠢的是,我期待它像 find/replace!

一样工作

我认为这是 Jquery 版本问题。您正在使用 Jquery 1.5。在 Jquery 文档中,他们提到了这个

Before jQuery 1.6, the .attr() method sometimes took property values into account when retrieving some attributes, which could cause inconsistent behavior.

来源https://api.jquery.com/attr/

所以尝试使用更高的 JQuery 版本或使用 .prop() 而不是 .attr()