如何跨越兄弟元素

时间:2014-08-04 23:02:19

标签: javascript jquery css iteration step-through

我正试图通过6个Div并给每个人一个唯一的ID。我确信下面的代码可以正常工作,但它所做的就是给第一个Div“slide1”,其余的都得到“slide6”。这一步的正确方法是什么?

    $('#main-slider div.et_pb_slide').first().attr('id','slide1');

    $('#main-slider div.et_pb_slide').next().attr('id','slide2');

    $('#main-slider div.et_pb_slide').next().attr('id','slide3');

    $('#main-slider div.et_pb_slide').next().attr('id','slide4');

    $('#main-slider div.et_pb_slide').next().attr('id','slide5');

    $('#main-slider div.et_pb_slide').next().attr('id','slide6');

5 个答案:

答案 0 :(得分:4)

循环!

$('#main-slider div.et_pb_slide').each(function(index) {
    this.id = "slide" + (index + 1);
});

答案 1 :(得分:0)

您应该执行以下操作:

$('#main-slider div.et_pb_slide').each(function(value, index) {
$(this).attr('id','slide'+index);
}); 

答案 2 :(得分:0)

在这里没有其他答案,你应该将jQuery调用链接在一起 - 出于性能原因和DOM选择器的准确性:

$('#main-slider div.et_pb_slide')
    .first().attr('id','slide1')
    .next().attr('id','slide2')
    .next().attr('id','slide3')
    .next().attr('id','slide4')
    .next().attr('id','slide5')
    .next().attr('id','slide6');

答案 3 :(得分:0)

$( "#main-slider div.et_pb_slide" ).each(function( index ) {
  $(this).attr('id', 'slide' + (index + 1));
});

答案 4 :(得分:0)

1。)使用选择器

获取所有div

2。)通过附加每个div索引来应用唯一ID。

    var $divs = $("#main-slider div.et_pb_slide");
    $divs.attr('id', function (index) {
        return 'slide' + index;
    });