Я в настоящее время делаю обход DOM с jQuery, я пытаюсь выбрать каждый элемент по одному в #treeList
, когда кнопка нажата, но как только он проходит второй список #innerList
, он выберет все элементы в этом списке и продолжит работу над списком по клику. Как вы можете продолжить через #innerList
, как и с #treeList
?Перемещение через вложенный список - jQuery
$("#MoveDown").click(function() {
$('.parentStyle + li, li:eq(0)')
.last()
.addClass('parentStyle').siblings('li')
.removeClass('parentStyle');
});
.parentStyle {
background-color: #F99;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<ul id="treeList">
<li class="parent">Aunt Grace</li>
<li class="parent">Mother Joan</li>
<li class="parent">Father Joe
<ul id="innerList">
<li class="child">Son John</li>
<li class="child">Son James</li>
<li class="child">Daughter Aine</li>
</ul>
</li>
<li class="parent">Uncle Tom</li>
<li class="parent">Aunt Jen</li>
</ul>
</div>
<button id="MoveDown">Move down</button>
Если вы хотите выбрать только 'отец Joe', когда выбранный в данный момент, вы должны добавить' 'span' или div' обертку, так что вы можете добавить ваш цвет. Чтобы выбрать children 'li', вам нужно переработать весь код: http://jsfiddle.net/d5mh5qzs/1/ –
Я даже не рассматривал использование индексов ... Единственная реальная причина для использования цвет должен показать, что выбор был сделан при нажатии кнопки. Спасибо, я очень ценю это! – SPeoples
Хотите ли вы пройти через верхний список, и если вы попадете в LI, который содержит UL, перейдите к этому, прежде чем продолжить следующий LI? Или вы хотите пройти через уровень 1, а затем на уровень 2? – Daved