Jquery打开url作为变量并更改文本

时间:2012-05-07 22:30:33

标签: javascript jquery

我有这个:

<fieldset id="social_associations" class="">
    <a href="/social/login/twitter">Associate your account to twitter</a>
    <br>
    <a href="/social/login/facebook">Associate your account to facebook</a>
    <br>
</fieldset>

我想要一个功能来跟踪这些链接中的URL,但这些URL是由脚本生成的,可能会根据用户的个人资料进行更改(如果用户已经关联了某个帐户,那么将显示的网址将具有'断开'而不是'登录')所以该功能必须采取链接中出现的任何内容,它不能被硬编码。我不想在点击它时离开当前页面。当点击链接时,我想将关联的文本更改为断开连接。一定很容易,但我不知道!

编辑:

我明白这个问题不明确所以我在这里改写: javascript on click change href and open in new window

2 个答案:

答案 0 :(得分:0)

要更改链接文字,我会这样做。至于问题的其余部分,我不确定我理解。

$( '#social_associations' )
     .on( 'click', 'a[href*="/login/"]', function(){
             // not sure what 'follow the URLs within these links' means, but do it here

               //then change the link text
             $( this ).text( $( this ).text().replace( /Associate/i, "disconnect" ) );            
         })
     .on( 'click', 'a[href*="/disconnect/"]', function(){
               // not sure what 'follow the URLs within these links' means, but do it here

               //then change the link text
               $( this ).text( $( this ).text().replace( /disconnect/i, "Associate" ) );
         })

答案 1 :(得分:0)

<script>
$(function(){
    $('#social_associations').each(function(){
        if(/this.href/.test(/login/i)){
            this.innerHTML = 'Login';
        }
        if(/this.href/.test(/disconnect/i)){
            this.innerHTML = 'Disconnect';
        }
    });
});
</script>
<fieldset id="social_associations" class="">
    <a href="/social/login/twitter">Associate your account to twitter</a>
    <br>
    <a href="/social/login/facebook">Associate your account to facebook</a>
    <br>
</fieldset>

我不确定这是否是你想要的,所以告诉我它是不是:)