JQuery обернуть каждый список в теге ul - PullRequest
2 голосов
/ 29 марта 2011

Не вдаваясь в детали, у меня есть следующий код jQuery:

$("nav ul ul").each(function () {
    var navitems = $(this).html();
    alert(navitems);
});

Я knopw .html использует InnerHTML, поэтому все оповещения

<li>xxxxx</li>
<li>xxxxx</li>

Но как можно редактировать jQueryпоэтому оповещения похожи на

<ul>
<li>xxxxx</li>
<li>xxxxx</li>
</ul>

Ответы [ 4 ]

1 голос
/ 29 марта 2011

я бы сделал что-то вроде этого:

$("nav ul ul").each(function () {
   alert( $('<div>').append($(this).clone()).remove().html() );
 }); 

он создает фиктивный элемент div, добавляет в него выбранный UL, удаляет фиктивный элемент и возвращает его html-контент.

вот демо: http://jsfiddle.net/meo/QmTSF/

1 голос
/ 29 марта 2011
$("nav ul ul").each(function () {
        var navitems = $(this).html();
        var tag = $(this).get(0).nodeName.toLowerCase();
        alert('<' + tag + '>' + navitems + '</' + tag + '>');
});
0 голосов
/ 29 марта 2011

Вы имеете в виду что-то вроде этого:

$("nav ul ul").each(function () {
    var navitems = "<ul>" + $(this).html() + "</ul>";
    alert(navitems);
});
0 голосов
/ 29 марта 2011

Я действительно не знаю, что именно вы хотите. но, как я понимаю, селектор parent () может помочь.

http://api.jquery.com/parent/

...