检查Div数组的ID并添加具有相同数字的类名

时间:2015-11-17 15:08:41

标签: jquery

我有一个这样的条目列表:

<div id="unique-entry-id-4">
<div id="unique-entry-id-3">
<div id="unique-entry-id-2">
<div id="unique-entry-id-1">
<div id="unique-entry-id-0">

我想要完成的是:

<div id="unique-entry-id-4" class="blog-entry-id-4">
<div id="unique-entry-id-3" class="blog-entry-id-3">
<div id="unique-entry-id-2" class="blog-entry-id-2">
<div id="unique-entry-id-1" class="blog-entry-id-1">
<div id="unique-entry-id-0" class="blog-entry-id-0">

我知道我可以这样做:

$("div[id^='unique-entry-id-0']").each(function(i) {
    $(this).attr('class', "blog-entry-id-0");
});
repeat for each div

但我想要的是使用最小量的jQuery来读取ID名称和数字,然后添加一个具有相同数字的类。

3 个答案:

答案 0 :(得分:4)

你可以尝试

$('div').each(function() {
    $(this).addClass($(this).attr('id').replace('unique', 'blog'));
});

<强> Demo

答案 1 :(得分:1)

$(document).ready(function () {
    $("div[id^='unique-entry-id']").each(function(i) {
        var divId = $( this ).attr( "id" );
        var spittedId = divId.split( "-" );
        var divClass = "blog-entry-id-" + spittedId[3];
        $( this ).addClass( divClass );
    });
});

如果你确定&#34; id&#34;之间的区别和&#34;班&#34;只是&#34;独特的&#34; &#34;博客&#34;

$(document).ready(function () {
    $("div[id^='unique-entry-id']").each(function(i) {
        $( this ).addClass( $( this ).attr( "id" ).replace( "unuique", "blog" ) );
    });
});

答案 2 :(得分:0)

如果你有一个父母,如果他们的id是降序,那么试试这个:

var length=$(#parentDiv>div).length;
$(#parentDiv>div).each(function(){
var className='blog-entry-id-'+(length-$(this).index())
$(this).addClass(className);
});