如何使用jQuery动态替换部分类?

时间:2015-02-21 21:34:29

标签: javascript jquery

我有一个以z-开头的动态类。如何动态将z-更改为fa- onload?

From <a href="#" class="z-dynamic">Link</a>

to <a href="#" class="fa-dynamic">Link</a>

我只想替换班级的一部分,而不是全班。

3 个答案:

答案 0 :(得分:2)

您可以使用attribute contains selector并使用回调函数调用attr来修改每个元素的属性。在我的示例中,我使用带有replace的字符串regular expression方法来确保替换列表中以z-开头的所有类,并且仅替换该字符串的那些实例。然后将其包装在jQuery document ready包装器中,您就可以开始了。

$(function(){
    //Select only the a tags with "z-" in the "class" attribute, and modify the attribute using a callback function.
    $('a[class*="z-"]').attr('class', function(index, attr) {
        //Return the updated string, being sure to only replace z- at the start of a class name.
        return attr.replace(/(^|\s)z-/g, 'fa-');
    });
});

答案 1 :(得分:1)

$(document).ready(function(){
    var self = $("a.z-dynamic");
    self.attr("class", self.attr("class").replace("z-", "fa-"));
});

这会改变

From <a href="#" class="z-dynamic">Link</a>

to <a href="#" class="fa-dynamic">Link</a>

答案 2 :(得分:0)

如果您已经引用了该节点,则可以轻松地将一个小正则表达式与.replace()一起应用于className。

anchor.className = anchor.className.replace(/z-/, 'fa-');