2

私はこのような構造を持っています

        <div class="dynamic" id="thumbnail-div">
            <p id="thumbnail-p">
                <a href="#">
                    <img src="images/circle.GIF" alt="Example Number 1 For Display Case" name="Example Number 1 For Display Case" class="dynamic" id="thumbnail-img" />
                </a>
            </p>
        </div>

上記のhtml構造の倍数があるため、10、20、50などになる可能性があります。今私がやろうとしているのは、jQueryでクラスを「thumbnail-div」のIDを持つすべての要素に変更することです。 thumb1、thumb2、thumb3 など。その数に応じてカウントアップする必要があります。これを達成する方法を見つけることができず、多くの調査の結果、何も役に立ちませんでした。助けてください。

前もって感謝します!

4

4 に答える 4

1

ページでIDが重複しているようです。

ID を使用してこれらの要素にアクセスしようとすると、残念ながら取得のみが行われますthe first element with that ID

問題のすべてのdivに.dynamicクラスがあるとしましょう..次に、次のようなことができます

$('div.dynamic').each(function(i){

     $(this).addClass('thumb' + (i+1));   // Add Class
     $(this).attr('id' , 'thumb' + (i+1));  // Set id for each div 
});

フィドルをチェック

于 2012-10-30T06:26:26.487 に答える
0

が重複している要素は使用できませんid

あなたがそれに関して使用するならばthumbnail-div、あなたはおそらくこれをすることができるとしましょうclassdivs

$(".thumbnail-div").each(function(index){
    $(this).addClass('thumb'+(index+1)); 
    // or set id $(this).attr('id' , 'thumb' + (index+1)); 
    alert($(this).attr('class'));
});​

ライブサンプル

于 2012-10-30T06:34:16.633 に答える
0

まず第一に、ページに重複したIDを持たないでください。そのため、それらをすべてクラスに変更して<di class = "dynamic thumbnail-div">、jQueryでページ上のすべてのIDを取得し、反復してサムネイルのクラス名を削除する必要があります- div に変更して、thumb1、thumb2 などに変更すると、次のようになります。

$('.thumbnail-div').each(function(index) {
    $(this).removeClass('thumbnail-div');
    $(this).addClass('thumb' + index);
}

私はこれがうまくいくはずだと確信しています。$(this).attr('id', 'thumb' + index);クラス名を削除して id を追加したい場合は、.addClass 行の代わりに使用できるすべてが一意になるためです。

于 2012-10-30T06:32:37.220 に答える
0

答えはこちらhttp://jsfiddle.net/A9SfJ/

$('.dynamic').addClass('thumb1').removeClass('dynamic');
于 2012-10-30T06:38:08.093 に答える