使用jquery操作href

时间:2014-05-14 14:34:03

标签: javascript jquery

我需要使用jquery在客户端设置个人classest(social-links-twitter,social-links-facebook,social-links-linkedin)的href网址。如何捕获href用户点击的内容然后设置网址?

    <!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>

    <!--JQuery-->
    <script type="text/javascript" src="http://components.nhmwebdev.co.uk/scripts/jquery-1.10.2.min.js"></script>

    <script type="text/javascript">
        $(".profile li a").click(function (e) {
            e.preventDefault();
            var title = $(this).attr("title");
            if (title == "pFacebook") $(this).attr("href", "yourHrefValueForFacebook");
        });




    </script>

</head>
<body>
    <ul class="no-list social-links profile overflow-fix clear-fix push50">
        <li class="social-links-twitter">
            <a href="#" title="pTwitter">t</a>
        </li>
        <li class="social-links-facebook">
            <a href="#" title="pFacebook">f</a>
        </li>
        <li class="social-links-linkedin">
            <a href="#" title="pLinkedin">l</a>
        </li>
    </ul>
</body>
</html>

5 个答案:

答案 0 :(得分:0)

将通用处理程序绑定到该列表并检查锚点title属性:

$(".social-links li a").click(function(e) {
    e.preventDefault();
    var title = $(this).attr("title");
    if (title == "Facebook") $(this).attr("href", "yourHrefValueForFacebook");
});

答案 1 :(得分:0)

您可以使用$(selector).attr("href")获取href,$(selector).attr("href", "newurl")进行设置。

例如:

$(".social-links-twitter a").attr("href");将获得您的social-links-twitter链接的href。

答案 2 :(得分:0)

或者试试这个,这样你就不需要if语句

$(document).ready(function () {
    $(".social-links a[title=Facebook]").attr("href", "yourHrefValueForFacebook");
});

答案 3 :(得分:0)

试试这个!

$(document).ready(function(){
    $('.social-links a').click(function(e){
        switch($(this).attr('title')){
            case 'pTwitter':
                $(this).attr('href','yourTwitterUrl');
                break;
            case 'pFacebook':
                $(this).attr('href','yourFacbookUrl');
                break;
            case 'pLinkedin':
                $(this).attr('href','yourLinkedinUrl');
                break;
            default:
                e.preventDefault();
                break;
        }   
    });
});

答案 4 :(得分:0)

不确定您要实现的目标。但是,您可以将逻辑移动到.ready(),而不是使用.click。

$(document).ready(function(){

    $(".no-list li a").each(function(e,v){
        //e.preventDefault();
        //alert($(v));
        var title = $(v).attr("title");
        if (title == "pFacebook") $(v).attr("href", "http://facebook.com");
    });
});