当我点击.current
li-element中的span时,我正在增加我的当前 1和切换类,但是当它是第二个元素时我崩溃了,是什么错?
<div id="test">
<ul id="n">
<li><div class="q"><span>1</span></div></li>
<li><div class="q"><span>2</span></div></li>
<li><div class="q"><span>3</span></div></li>
<li><div class="q"><span>4</span></div></li>
</ul>
</div>
和 jQuery
var current = 0;
$('#n li:eq('+current+')').addClass('current');
$('#n li.current').on('click','span',function(){
$('#n li').removeClass('current');
current++;
$('#n li:eq('+current+')').addClass('current');
});
答案 0 :(得分:2)
您的选择器li.current span
是动态的,因为目标类current
会在元素之间发生变化。因此,您需要使用事件委派来定位具有所述属性的动态元素
应该是
$('#n').on('click', 'li.current span', function () {
$('#n li').removeClass('current');
current++;
$('#n li:eq(' + current + ')').addClass('current');
});
演示:Fiddle