用标签li替换每个标签p,用标签ul替换组li

时间:2012-02-23 09:38:09

标签: jquery html html5 jquery-ui jquery-selectors

这里是html:

<section class="category">
        <p><a href="product-list.html">Lorem ipsum dolor sed diam</a></p>
        <p><a href="product-list.html">Lorem ipsum dolor sed diam</a></p>
        <p><a href="product-list.html">Lorem ipsum dolor sed diam</a></p>
        <p><a href="product-list.html">Lorem ipsum dolor sed diam</a></p>
      <section class="clear"></section>
    </section>

如何更换标签p - &gt; li和标签ul包装组li。我需要它:

   <section class="category">
      <ul>
        <li><a href="product-list.html">Lorem ipsum dolor sed diam</a></li>
        <li><a href="product-list.html">Lorem ipsum dolor sed diam</a></li>
        <li><a href="product-list.html">Lorem ipsum dolor sed diam</a></li>
        <li><a href="product-list.html" >Lorem ipsum dolor sed diam</a></li>
      </ul>
      <section class="clear"></section>
</section>

3 个答案:

答案 0 :(得分:2)

你可以使用

的组合

http://api.jquery.com/replaceWith/

http://api.jquery.com/wrapAll/

$(".category p").wrapAll("<ul>").replaceWith(function() {
    return $("<li></li>").append($(this).html());
});

答案 1 :(得分:0)

jQuery('.category').each(function(){
    var c = jQuery(this);
    var ul = jQuery('<ul/>');
    c.find('p').each(function(){
        var p = jQuery(this);
        ul.append(jQuery('<li/>').append(p.children()));
    }).remove();
    c.prepend(ul);        
});

答案 2 :(得分:0)

在你的jQuery中执行此操作

    $("p").each(function () {
 $(this).replaceWith("<li>" + $(this).html() + "</li>");
  });

提高您的录取率。