如何通过链接文本更改链接href

时间:2011-09-02 14:28:16

标签: jquery

我在下面有一个文本,我想换掉登录链接,但只有文字说“登录”。有时会说“我的帐户”:

<div id="Login_T4304F19B025">
    <a href="/login1">Log in</a>
</div>

如果链接文本为“登录”,如何使用jQuery将href更改为/ login2?

5 个答案:

答案 0 :(得分:3)

您可以使用:contains()

$("a:contains('Log In')").prop("href", "/login2");

但是,:contains()的工作方式类似于通配符匹配(例如,它也匹配“请立即登录”)。如果您想要更严格的搜索,请使用.filter()

$("a").filter(function () { 
    return $.text(this) == "Log In";
}).prop("href", "/login2");

答案 1 :(得分:2)

if ($('#Login_T4304F19B025 a').text() == 'Log in'){
  $('#Login_T4304F19B025 a').attr('href','/login2');
}else{
  $('#Login_T4304F19B025 a').attr('href','/login1');
}

答案 2 :(得分:1)

$("div a").attr("href","some link to somewhere");

希望这有效

答案 3 :(得分:0)

你可以这样做:

  $('a:contains("Log in")').attr('href', '/login2')

答案 4 :(得分:0)

var a = $('#Login_T4304F19B025 a').text();

if(a == "Log in" || a == "My account"){
    a.attr("//new link");
}