我想选择具有特定类的所有ul > li > a > i元素,然后向其添加链接属性。您可以转到fiddle了解我的意思。

var twitter_url = 'twitter link';
var facebook_url = 'facebook link';
var gplus_url = 'google plus link';

if ($('ul.social i').hasClass('.fa-twitter')){
    $("ul.social a:nth-child(1)").attr("href", twitter_url);
}
if ($('ul.social i').has('.fa-facebook')){
    $("ul.social a:nth-child(2)").attr("href", facebook_url);
}
if ($('ul.social i').has('.fa-google-plus')){
    $('ul.social a').attr("href", gplus_url);
}

最佳答案

试试这个

        var twitter_url = 'https://twitter.com/FameWaves_intl';
        var facebook_url = 'https://facebook.com/famewaves';
        var gplus_url = 'https://plus.google.com/famewaves';


        $('ul.social li').each(function(){
            var aLink = $(this).find('a'),
                className = $(this).find('i').prop('class');
            switch(className)
            {
                case "fa fa-twitter":
                    aLink.attr("href", twitter_url);
                    break;
                case "fa fa-facebook":
                     aLink.attr("href", facebook_url);
                    break;
                case "fa fa-google-plus":
                    aLink.attr("href", gplus_url);
                    break;
            }

        });

这是fiddle

09-25 18:46