0

同じクラス名を持つさまざまな数の要素があります。

<p class="test"></p>
<p class="test"></p>

これらのそれぞれを、同じクラス名を持つ新しい要素のセットに置き換えたいのですが、要素の数が多かったり少なかったりする可能性があります。

<p class="test"></p>

また

<p class="test"></p>
<p class="test"></p>
<p class="test"></p>

を使用する$('p.test').replaceWith('new content')と、各要素がコンテンツに置き換えられるため、それはできません。

これを達成するための最良の方法は何ですか?

編集(別の説明):

だから私はページにこれらの要素を持っています:

<p class="test"></p>
<p class="test"></p>
<p class="test"></p>

次に、同じクラス名 (および場合によっては他のクラス名) を持つ新しい要素セット (さまざまな数の要素) を動的に取得します。例えば:

<p class="test classa"></p>
<p class="test classb"></p>

上記の例では、最初の 3 つの<p>要素を削除します。そして、その場所には、動的に取得された 2 つの<p>要素が必要です。

どちらのセットの要素数も異なる場合があることに注意してください。

4

3 に答える 3

0

更新しました:

あなたが<p>'sコンテナに入っていると仮定して

<div id="container">
    <p class="test"></p>
    <p class="test"></p>
    <p class="test"></p>
    <p class="test"></p>
</div>

それらを削除して、新しい要素を追加 (または先頭に追加) することができます

$('p.test').remove(); //Will remove all <p>'s with class test

新しい要素のセットがデータ配列に入っていると思います

var data= { 
  '1': '<p class="newclass">Hello</p>', 
  '2': '<p class="newclass2">Hello2</p>' 
  '3': '<p class="newclass3">Hello3</p>' 
  }; //Could have 100 rows, it wouldn't matter

$.each(data, function(i,val){   
        //Do some stuff
        $('#container').append(val);
  });  
于 2012-06-06T20:45:46.667 に答える
0

私は周囲を持ち、<div>そのdivを毎回新しい要素のセットに置き換えるだけです。そう:

<div id="surround">
  <p class="test"></p>
  <p class="test"></p>
  <p class="test"></p>
</div>

次にjQuery:

$("#surround").replaceWith('new content');
于 2012-06-06T21:17:07.530 に答える