3

我需要在所有divs中找到所有 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 eachdiv类时,someClass将所有p标签包装起来,但它只是将它们全部包装在 top 中div

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 回答