【问题标题】:Wrap elements inside a div using jQuery使用 jQuery 将元素包裹在 div 中
【发布时间】:2012-03-06 16:43:15
【问题描述】:

我有这个:

<div>content element</div>
<div class="accordionTrigger">
  <div><h1>title</h1></div>
  <p>text</p>
  <p>text</p>
  <p>text</p>
  ...
</div>
<div>content element</div>
<div>content element</div>

我需要像这样将所有 p-tags 包装在一个 div 中:

    <div>content element</div>
    <div class="accordionTrigger">
      <div><h1>title</h1></div>
      <div class="moreInfo">    
        <p>text</p>
        <p>text</p>
        <p>text</p>
        ...
      </div>
    </div>
    <div>content element</div>
    <div>content element</div>

可以用 jQuery 完成吗?


如果我有多个&lt;div class="accordionTrigger"&gt;&lt;/div&gt;,像这样:

<div>content element</div>
<div class="accordionTrigger">
  <div><h1>title</h1></div>
  <p>text</p>
  <p>text</p>
  ...
</div>
<div>content element</div>
<div class="accordionTrigger">
  <div><h1>title</h1></div>
  <p>text</p>
  <p>text</p>
  ...
</div>

结果将是:

<div>content element</div>
<div class="accordionTrigger">
  <div><h1>title</h1></div>
  <p>text</p>
  <p>text</p>
  <p>text</p>
  <p>text</p>
  ...
</div>
<div>content element</div>
<div class="accordionTrigger">
  <div><h1>title</h1></div>
</div>

我可以避免吗?

【问题讨论】:

    标签: jquery html word-wrap


    【解决方案1】:

    检查.wrapAll()方法:

    $('.accordionTrigger p').wrapAll('<div class="moreInfo"></div>');
    

    wrapAll() 方法会将所有匹配的元素包装到另一个元素中(相比之下 .wrap() 方法单独包装匹配的元素)

    DEMO

    【讨论】:

      【解决方案2】:

      检查一下它会按预期工作

      <div>content element</div>
      <div class="accordionTrigger">
        <div><h1>title</h1></div>
      
      
        <p>text</p>
        <p>text</p>
        <p>text</p>
        <script type="text/javascript"> 
            $("p").wrapAll("<div class='moreinfo'/>"); 
        </script>
      </div>
      <div>content element</div>
      <div>content element</div>
      

      【讨论】:

        猜你喜欢
        • 2012-06-02
        • 2018-01-16
        • 2020-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多