Zajmuję się małą aplikację, która bogatymi menu widoku drzewa, więc jest to html:Co jest nie tak z moim kodem jQuery znajdującym pierwszego rodzica?
<ul class="sidebar-menu">
<li class="active"><a href="javascript:;"> ELEMENT 1 </a></li>
<li class="treeview">
<a href="javascript:;"> ELEMENT 2 <span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span></a>
<ul class="treeview-menu">
<li><a href="javascript:;"> ELEMENT 2.1 </a></li>
<li><a href="javascript:;"> ELEMENT 2.2 </a></li>
</ul>
</li>
<li><a href="javascript:;"> ELEMENT 3 </a></li>
</ul>
próbuję podkreślić kliknięciu elementu li dodając klasę .active
do niego. Ale gdy klikniesz na podelement, chcę zaznaczyć także rodzica. Na przykład, jeśli klikniesz na ELEMENT 2.1
, chcę również zaznaczyć ELEMENT 2
.
To jest mój kod jQuery dostać, najpierw element kliknięty, a następnie jest to li rodzic (nie mogę zrobić IR bez selektora :not
z innych powodów:
$(".sidebar-menu").on("click", "li:not(.treeview)", function(e){
$(e.delegateTarget).parents("li").first();
}
if działa zgodnie z oczekiwaniami , ale druga linia zawsze dają mi błąd undefined
w konsoli.
$ (e.delegateTarget) .parents ("li"). AddClass ("aktywny"); powinno działać. – vijayst