Замените каждый тег p тегом li, а вокруг группы li тегом ul - PullRequest
1 голос
/ 23 февраля 2012

Здесь 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 -> li и обернуть группу li тегом ul. Мне нужно, чтобы это было:

   <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 ]

2 голосов
/ 23 февраля 2012

Вы можете использовать комбинацию

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

и

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

$(".category p").wrapAll("<ul>").replaceWith(function() {
    return $("<li></li>").append($(this).html());
});
0 голосов
/ 23 февраля 2012

В вашем jQuery сделайте это

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

И ПОЖАЛУЙСТА улучшить ваш коэффициент приема.

0 голосов
/ 23 февраля 2012
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);        
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...