Как выбрать ВСЕХ детей от родителя в jQuery?

0

У меня есть следующий список:

<ul>
    <li>test1</li>
    <li>test2</li>
</ul>

Как преобразовать этот список в следующее:

<li>test1</li>
<li>test2</li>

Мой код:

$(data).find('.ContentPanel>ul').each(function() {
    $(this).children();
});
  • 0
    .children() возвращает всех потомков родителя, так что вы, похоже, уже знаете как. Я думаю, вопрос в том, чего именно ты пытаешься достичь? Пожалуйста, предоставьте лучшее объяснение вашей проблемы. Обратите внимание, что li может быть только ul элементом элемента ul , все остальное недопустимо.
  • 1
    Хотите заменить <ul><li>test1</li><li>test2</li></ul> на <li>test1</li><li>test2</li> ?
Показать ещё 1 комментарий
Теги:

1 ответ

0
Лучший ответ

.children возвращает всех дочерних элементов совпадающего элемента, поэтому, если вы хотите получить уль-детей, вы можете попробовать это

$('ul').children();

Поскольку вы также хотите исключить родительский тег ul т. Е. Хотите развернуть li's тогда вы можете использовать метод.unwrap() для jQuery. (видимо, разметка не будет действительна после этого, поскольку li должен быть оберткой с помощью ul)

$('ul').children().unwrap();

Демо-версия Js Fiddle

  • 0
    Вы можете объяснить, почему?
  • 0
    Разметка больше не будет действительной, потому что теги <li> требуют тега <ul> или <ol> в качестве родительского элемента, чтобы быть действительными.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню