Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery删除部分类名_Jquery_Class_Replace - Fatal编程技术网

jQuery删除部分类名

jQuery删除部分类名,jquery,class,replace,Jquery,Class,Replace,我有一个通过wordpress生成的列表项。每个列表项都有一个类,例如cat-item-14 我只需要操纵这个类来显示数字,这样就可以删除“cat item-”并将该类保留为“14” 感谢您的指点。尝试以下方式: var value $("ul > li").each(function() { value = $(this).attr("class").replace("cat-item-", ""); $(this).attr("class", value); });

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

我只需要操纵这个类来显示数字,这样就可以删除“cat item-”并将该类保留为“14”


感谢您的指点。

尝试以下方式:

var value

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

但是要注意,让一个类以数字字符开头不是一个好的做法。

汤姆建议你做的事情会起作用

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

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

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

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

    $el.addClass(n);
});

用类名来告诉我吧。谢谢我接受你的评论。在这种情况下,类名只用于使用js进行操作,所以希望可以满足我的需要。或者,你可以在输出类的wordpress函数中添加一个过滤器。Cronco可能在这里有一个很好的观点。。。最好在客户端不太熟悉的地方完成这项任务-我对wordpress一无所知,但也无能为力。同意Cronco的意见,尽管我的jQuery比我的php好-我目前正在使用wordpress post_class()函数输出我的分类法我已经在post_class()的输出中添加了术语_id在函数文件中,如下所示-目前只是输出id-理想情况下,它需要是cat item id才能与我的类别列表匹配,并过滤ItemsHanks-这与我一直尝试的类似,但并不安静,完成了技巧,谢谢!