나는 앵커 태그가있는 다중 레벨 메뉴가 있습니다. 제 문제는 jQuery 선택기가 제대로 작동하도록하는 것입니다.jQuery 선택기가 형제에게 적합하지 않습니까?
근무 코드 :
$(this)
.closest('li')
.siblings('li.open')
.children('a')
.children('i')
.toggleClass('class1')
.toggleClass('class2');
그것이 있어야 무엇 :
$(this)
.closest('li')
.siblings('li.open > a > i')
.toggleClass('class1')
.toggleClass('class2');
그러나 심지어이 작품 :
$(this)
.closest('li')
.siblings('li.open a i')
.toggleClass('class1')
.toggleClass('class2');
내가 텍스트 형태로 수행 할 작업 : onClick 이벤트는 앵커 태그를 대상으로합니다. 저는 부모님의 형제 자매 앵커에 i-Tags를 사용하여 두 가지 수업을 번갈아하고자합니다.
HTML
<ul>
<li>
<a><i class="class1"></i>Label</a>
<ul>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
</ul>
</li>
<li class="open">
<a><i class="class1"></i>Label</a>
<ul>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
</ul>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
<li>
<a><i class="class1"></i>Label</a>
</li>
</ul>
이 질문은 귀하의 HTML을 볼 수 있었는지 조금 더 이해할 수 있습니다. –
나는 그것을 더했다. 그것은 간단한 목록입니다. 그 안에 중첩 된 목록이 더 있습니다. 보시다시피 두 번째 최상위 LI에는 클래스가 열려 있습니다. 첫 번째 최상위 LI의 앵커를 클릭하면 li.open의 앵커 태그 i 태그 (해당 구문에 대해 유감스럽게 생각합니다)를 사용하여 클래스를 전환 할 수 있습니다. – ProblemsOfSumit