1

div多くの子孫を持つjQueryでDOM要素を複製しています。クローンを DOM に挿入する前に、クローンを持つ子孫divの属性を変更する必要があります。id次のように、既に知っている要素に対してこれを行うことができます(挿入前の段階でクローンされた要素であるとid仮定します):newElem

newElem.find('#question_0_0').attr('id', 'question_' + num1 + '_' + num2);

私の問題は、divクローンの 1 つのセクションがプログラムで生成されることです。このセクションには多くの (数十の) div があります。idDOM 挿入前に複製された s の末尾にある数字を変更する必要がありますが、ページが読み込まれるまで各 IDの先頭divがどうなるかわかりません。

ids で終わるすべての要素_0_0(div の最初の部分は不明)を効果的にキャッチし、それらidの s を ~whatever~_+num1_num2 に変更するものを作成するにはどうすればよいですか? ワイルドカードを使用して で終わるすべての要素をキャッチできることは_0_0知っていますが、ID の書き換えでその「キャプチャされた」ワイルドカード部分を再利用する方法がわかりません。

4

2 に答える 2

2
$('[id$=_0_0]').prop('id', function(){
    var x = $(this).prop('id').split('_')[0]; //part before _0_0
    return x +'_'+ num1 + '_' + num2;
});
于 2012-12-25T03:31:34.443 に答える
1
$('[id$="_0_0"]').prop('id', function(index, currentID) {
    return 'question_' + num1 + '_' + index;
}) 
于 2012-12-25T03:29:54.693 に答える