4

IDが「slide」のすべてのdivを繰り返し処理し、最後に番号を追加しようとしています(slide1、slide2など)

各divに一連のクラスを追加することができましたが、同じコードを取得して最初のスライドの名前を変更することしかできず、残りのスライドの名前を変更することはできません。

$(document).ready(function() {
 $("#slide").each(function(i) {
    $(this).attr('id', "slide" + (i + 1));
 });
});​

とjsfiddleはこちらhttp://jsfiddle.net/YsvCe/1/

前もって感謝します

4

3 に答える 3

17

複数の要素には、id ではなくクラスを使用する必要があります。

<div class="slide">hello</div>

...

$(document).ready(function() {
    $(".slide").each(function(i) {
        $(this).attr('id', "slide" + (i + 1));
    });
});​

例: http://jsfiddle.net/QaB76/

于 2012-07-14T01:52:59.357 に答える
13

ID属性は一意である必要があり、idセレクターは最初に一致した要素のみを返します。

$(document).ready(function() { 
    $("div[id^='slid']").attr('id', function(i) {
       return "slide" + ++i;
    });
});

デモ

于 2012-07-14T01:50:44.533 に答える
4

要素には一意のIDが必要です。each関数は他のdivを反復処理していません。したがって、そのルールに違反せずにそれらすべてを選択する方法を見つけてください。次の作品:

$("div").each(function(i)
于 2012-07-14T01:51:00.103 に答える