0
나는이 두 UL의 이러한 처음의 '의 BOTH <ul>
에서의'의 <li>
에서 '활성'클래스를 제거하고 '활성'클래스를 적용하면됩니다 싶습니다 무엇JQuery : 이벤트 위임을 사용할 때 모든 선택 자에 조치를 적용 할 수 있습니까?
<ul id="ul_one">
<li>list item</li>
<li>list item</li>
<li class="active">list item</li>
</ul>
<ul id="ul_two">
<li>list item</li>
<li>list item</li>
<li class="active">list item</li>
</ul>
아래로 단지 클릭 한 항목. 예를
내가 위임을 사용하고있는 사실을 감안할 때$('#ul_one, #ul_two').on('click', 'li', function(e)
{
var clicked = e.target;
$('#ul_one, #ul_two').find('li.active').removeClass('active');
$(clicked).addClass('active');
});
를 들어, 내가 다시 이름을 참조하지 않고 모두 <ul>
's의 클래스를 제거 할 수있는 방법이있다. 그래서 그 대신 말의 :
$('#ul_one, #ul_two').find('li.active').removeClass('active');
은 내가 말할 수있는 같은 :
$('ALL items in the original selector').find('li').removeClass('active');
'li.active'를 타겟팅하는 것만으로는 충분하지 않습니까? 예 : https://jsfiddle.net/avs19ajk/ –
아니요, 이것은 단순화 된 예입니다. 실제로이 기능을 사용하고 싶지 않은 액티브 리가있는 다른 ul도 있습니다. – Typhoon101