jQuery删除部分类名

时间:2011-01-20 14:13:09

标签: jquery class replace

我有一个通过wordpress生成的列表项。每个列表项都有一个类,例如cat-item-14。

我需要操纵这个类只显示数字,以便删除'cat-item-'并将该类保留为'14'

任何指示赞赏。

3 个答案:

答案 0 :(得分:4)

尝试这样的事情:

var value

$("ul > li").each(function() {
    value = $(this).attr("class").replace("cat-item-", "");
    $(this).attr("class", value);
});

请注意,让一个以数字字符开头的课程不是一个好习惯。

答案 1 :(得分:4)

我宁愿提取数字,然后将其附加到属性,而不是删除所有其他类,因为它可能会干扰实际使用原始类的wordpress插件:

$("ul > li").each(function() {
    var $el = $(this),
        n = $el.attr("class").match(/cat-item-(.*)/)[1];

    $el.addClass(n);
});

答案 2 :(得分:1)

汤姆建议你做的事情可以解决问题。

但是.. 数字不允许是类的第一个字母或ID名称......所以......我会在类名中添加下划线字符...

$("ul > li").each( function() {
   var value = $(this).attr("class");
   value.replace("cat-item-", "_");
   $(this).attr("class", value);
});