#javascript #jquery #dom #kendo-ui #jquery-events
#javascript #jquery #dom #kendo-пользовательский интерфейс #jquery-события
Вопрос:
У меня есть неопределенное количество вложенных тегов ul и li, таких как:
<ul>
<li>5
<ul>
<li>2
<ul>
<li>1
</li>
<li>4
<ul>
<li>3
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li>7
<ul>
<li>9
<ul>
<li>14
<li>
</ul>
<li>11
</li>
</ul>
</li>
</ul>
Я использую Kendo ui treeview, и он возвращает мне элемент, из которого была удалена буква l (это может быть элемент внутри li, потому что у меня есть несколько промежутков в каждом из них).
Что мне нужно, так это знать предыдущий и следующий li через DOM и Javascript, чтобы сохранить новый порядок элементов.
Кто-нибудь может помочь, пожалуйста?
Комментарии:
1. У меня загружен jquery, но я получаю объект dom, а не jquery… Я так не думаю, но я новичок в этом, так что … 🙂
2. Вы рассматривали использование jQuery в режиме без конфликтов? Это позволяет вам иметь несколько версий на одной странице и работать с другими библиотеками Javascript.
Ответ №1:
Вы не указали, какое событие вы используете, но оно должно быть «dragend». Таким образом, вы должны быть в состоянии определить родительский li, а затем просто изменить порядок всех его дочерних элементов.
Посмотрите на эту скрипку здесь. Это ближе к тому, что вы ищете?
Ответ №2:
Использование jQuery:
var parentLi = $(e).closest('li');
var previousLi = parentLi.prev()
var nextLi = parentLi.next();
Где e
элемент, получающий удаление.
Комментарии:
1. спасибо, Александр, но это работает не полностью. Я думаю, что он не вводит родительские дочерние элементы для поиска соответствия, поэтому большую часть времени я не получаю результатов (выполнение console. войдите в Chrome) спасибо
2. Итак, если следующий <li> братский элемент содержит <ul>, вы тогда хотите найти следующий <li> внутри него?