다음과 같은 두 개의 UL이 있습니다.
<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>
내가하고 싶은 것은 먼저 두 개의 <li>
's에서 <ul>
'active '클래스를 제거한 다음 클릭 한 항목에만'active '클래스를 적용하는 것입니다. 예를 들면
$('#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>
이름으로 다시 참조하지 않고도 두 클래스에서 클래스를 제거 할 수있는 방법이 있습니까? 그래서 말하는 대신 :
$('#ul_one, #ul_two').find('li.active').removeClass('active');
다음과 같이 말할 수 있습니까?
$('ALL items in the original selector').find('li').removeClass('active');
가장 좋은 점은 UL을 캐시하는 것입니다.
var uls = $('#ul_one, #ul_two');
uls.on('click', 'li', function() {
uls.find('li.active').removeClass('active');
$(this).addClass('active');
});
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다