3

divのクラスを持つすべての s 内のすべての p タグを見つけて、someClassそれらを別の でラップする必要がありdivます。これは、最初のマークアップがどのように見えるかです:

<div class="someClass">
  // Lots of different tags generated by the site
  <p>Some text</p>
  <p>Some text</p>
  <p>Some text</p>
  <p>Some text</p>
</div>

<div class="someClass">
  // Lots of different tags generated by the site
  <p>Some text</p>
  <p>Some text</p>
</div>

次のようになります。

<div class="someClass">
  // Lots of different tags generated by the site
  <div class="bla">
    <p>Some text</p>
    <p>Some text</p>
    <p>Some text</p>
    <p>Some text</p>
  </div>
</div>

<div class="someClass">
  // Lots of different tags generated by the site
  <div class="bla">
    <p>Some text</p>
    <p>Some text</p>
  </div>
</div>

何か案は?.each(): for eachを使用してみると、すべてのタグdivをラップするクラスがありますが、それらをすべて top でラップするだけです。someClasspdiv

4

1 に答える 1

3

これを試しましたか?

$('div.someClass p').wrapAll(...);

それともこれ?

$('div.someClass').each(function() {
  $(this).find('p').wrapAll(...);
});

編集

投稿したコードを見ると、構文の問題のようです。この行には引用符が必要です:

$(this).find('p').wrapAll(<div class='toggle'></div>);

そのはず:

$(this).find('p').wrapAll("<div class='toggle'></div>");
于 2009-10-14T15:38:08.300 に答える