Javascript 如何单步执行兄弟元素

Javascript 如何单步执行兄弟元素,javascript,jquery,css,iteration,step-through,Javascript,Jquery,Css,Iteration,Step Through,我试图一步一步地通过6个Div,给每个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

我试图一步一步地通过6个Div,给每个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');
循环

循环


你应该这样做:

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

你应该这样做:

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

如果这里的其他答案不符合要求,您应该将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');

如果这里的其他答案不符合要求,您应该将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');
1.)使用选择器获取所有div

2.)通过附加每个div索引应用唯一id

    var $divs = $("#main-slider div.et_pb_slide");
    $divs.attr('id', function (index) {
        return 'slide' + index;
    });
1.)使用选择器获取所有div

2.)通过附加每个div索引应用唯一id

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

那么索引是来自“each”函数吗?索引来自DOM元素(幕后)。jQuery使用它们来区分彼此。它是一个从零开始的索引,与数组中的数字索引类似。添加一个可确保获得一个“基于1”的起点。那么索引是否来自“each”函数?该索引来自DOM元素(幕后)。jQuery使用它们来区分彼此。它是一个从零开始的索引,与数组中的数字索引类似。添加一个可以确保您获得一个“基于1”的起点。这最终是我自己想要做的。显然,循环是更好的解决方案,但这说明了我是如何滥用.next()函数的。谢谢。这绝对是一个例子,说明你的尝试应该如何解决。一定要使用循环,否则jQuery代码会随着您拥有的选项数量而扩展,这对任何人都没有好处。显然,循环是更好的解决方案,但这说明了我是如何滥用.next()函数的。谢谢。这绝对是一个例子,说明你的尝试应该如何解决。一定要使用循环,否则jQuery代码会随着您拥有的选项数量而扩展,这对任何人都没有好处。