#javascript #html #jquery
#javascript #HTML #jquery
Вопрос:
У меня осталась довольно большая устаревшая куча HTML. У меня есть несколько списков, в которых есть вложенные списки, которые не были включены в элемент списка, хотя это отображается правильно, это по-прежнему вызывает проблему при тестировании доступности. Есть ли метод jQuery, который позволяет мне исправить это, пока я не смогу убедить поставщиков контента сделать это правильно?
<ul>
<li>list</li>
<li>list</li>
<ul class="shouldBeSublist">
<li>list</li>
<li>list</li>
<li>list</li>
</ul>
<li>list</li>
</ul>
последняя неудачная попытка…
$("ul ul").append(function () {
return this.closest("li");
});
желаемый результат…
<ul>
<li>list</li>
<li>list
<ul class="shouldBeSublist">
<li>list</li>
<li>list</li>
<li>list</li>
</ul>
**</li>**
<li>list</li>
</ul>
Ответ №1:
Выберите только списки, которые являются дочерними элементами списков, и используйте appendTo()
метод jQuery для перемещения их к предыдущему элементу списка:
$('ul > ul').each(function() {
$(this).appendTo($(this).prev('li'));
});
Комментарии:
1. Исправлено для использования более явных селекторов. Это может предотвратить недопустимые изменения.