1

ある場所から別の場所にHTMLをコピーするために使用しているjQueryコードの次のブロックがあります。

var newLine  = $('#popup-clone .popup-contents').last().clone();
newLine.find('.popup-title').html("hello world");

$('#popup-container').append(newLine);

これはループで数回実行されるため、htmlは次のようにレンダリングされます。

    <div id="popup-container" style="display: block;">
        <div class="popup-contents">
            <a class="close">close this popup</a>
            <span class="popup-title">Title 1</span>
            <span class="popup-description"></span>
            <span class="popup-type"></span>
            <span class="popup-open"></span>
        </div>
        <div class="popup-contents">
            <a class="close">close this popup</a>
            <span class="popup-title">Title 2</span>
            <span class="popup-description"></span>
            <span class="popup-type"></span>
            <span class="popup-open"></span>
        </div>
    </div>

等々

class = "popup-contents"を使用してすべてのdivに一意のIDを追加したいのですが、どうすればよいかわかりません。どんな助けでも大歓迎です。

4

4 に答える 4

5

'attr'を使用します:http: //api.jquery.com/attr/

newLine.attr('id', 'prefix' + someindex)
于 2012-04-08T00:36:36.300 に答える
2

IDが一意のランダムである可能性がある場合、過去に行ったことは、JavaScriptでGUID/UUIDを作成するからのUUID/GUIDジェネレーターを使用しますか?ランダムIDを生成します。

その後、それはただ行うことの問題です

newLine.attr( "id", guid );
于 2012-04-08T00:39:39.147 に答える
1

通常、複製された要素に ID を与える必要はありません。

要素が通常 id を必要とする理由は、(a) CSS スタイルの参照として、または (b) javascript/jQuery で対処できるようにするためです。

どちらの場合も、複製された要素が作成された時点でアドレス指定できます。

于 2012-04-08T01:15:33.523 に答える
0

propの代わりに使用attr:

jQuery.prop()

newLine.prop('id', 'prefix' + someindex)
于 2012-04-08T00:47:42.550 に答える