【问题标题】:How to add div tag after wrap with jQuery?jQuery 换行后如何添加 div 标签?
【发布时间】:2018-06-10 18:14:48
【问题描述】:

我想更改以下内容,

<div id="system">
   <div id="product_cont img">
      <img src="image1.jpg" />
      <img src="image2.jpg" />
      <img src="image3.jpg" />
..
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Nunc porta euismod luctus. Curabitur vehicula scelerisque diam at vestibulum.     
Pellentesque in lacus et augue malesuad.
   </div>
</div>

喜欢这个。

<div id="system">
    <div id="product_cont img">
      <ul class="cont_thumb">
        <li><img src="image1.jpg" /></li>
        <li><img src="image2.jpg" /></li>
        <li><img src="image3.jpg" /></li>
         ...
       </ul>
       <div style="clear:both;"></div>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Nunc porta euismod luctus. Curabitur vehicula scelerisque diam at vestibulum.     
Pellentesque in lacus et augue malesuad
    </div>
</div>

当我使用以下内容时,我可以使用 &lt;li&gt;&lt;ul&gt; 包装图像。

$("#system #product_cont img").wrapAll("<ul class=\"cont_thumb\">").wrap("<li>");

但我不确定如何在 jquery 的 &lt;/ul&gt; 标记之后添加它:

<div style="clear:both;"></div> 

我试过了,但是没用:

$("#system #product_cont img").wrapAll("<ul class=\"cont_thumb\">").wrap("<li>").after('<div style="clear:both;"></div>');

【问题讨论】:

    标签: jquery html jquery-selectors


    【解决方案1】:

    如果你的 &lt;li&gt; 元素是浮动的,你可以把它放在你的 CSS 中(而不是添加 &lt;div&gt;):

    #cont_thumb { overflow: auto; }
    

    所以在确定自己的身高时会考虑到他们的身高。 Quirksmode.orga pretty good article on alternative approaches to clearing floats here。同样id="product_cont img" 无效,即使在 HTML5 中,您也应该使用不包含空格的 ID 以避免副作用和 CSS 选择器的痛苦。

    为 cmets 编辑:如果您正在缩放并需要完全清除(而 overflow: none 也不符合要求),您可以这样做:

    $("#system #product_cont img").wrapAll('<ul class="cont_thumb">').wrap('<li />')
                             .closest('ul').after('<div style="clear:both;"></div>');
    

    【讨论】:

    • 它清除了。但是我正在放大图像,因此它会在右侧和底部创建不必要的滚动条。
    • @shin - 啊,在这种情况下,$(".cont_thumb").after('&lt;div style="clear:both;"&gt;&lt;/div&gt;'); 在你目前拥有的应该可以工作之后。或者,在末尾添加 .closest('ul').after('&lt;div style="clear:both;"&gt;&lt;/div&gt;');
    【解决方案2】:

    $("#system #product_cont img").append('&lt;div style="clear:both;'&gt;&lt;/div&gt;") 应该足够了。

    【讨论】:

    • 这会在#product_cont div 的末尾添加 div。我在 ul 标签之后需要它。在单词、lorm 等之前。
    猜你喜欢
    • 1970-01-01
    • 2012-12-19
    • 2010-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-06
    相关资源
    最近更新 更多