<ul id="list">
<li>item 1</li>
<li>item 2</li>
</ul>
$('#list li').click(function () {
alert($(this).hasClass('active')); // supposed to be an if
$(this).parent('ul').children('li').removeClass('active');
$(this).addClass('active');
});
为什么“$(this).hasClass('active')”总是返回true?
答案 0 :(得分:4)
您的代码有什么问题?根据给定的HTML,它第一次是假的。但是下次如果你点击相同的项目,那么只返回true,否则它只返回false。
答案 1 :(得分:3)
答案 2 :(得分:0)
$('#list li').click(function () {
alert($(this).hasClass('active')); // supposed to be an if
$(this).parent('ul').children('li').removeClass('active');
$(this).addClass('active');
});
$(this).hasClass('active')用于获取具有该类名的元素。
如果你想检查课程的可用性,请使用此代码
<ul id="list">
<li>item 1</li>
<li>item 2</li>
</ul>
$('#list li').click(function () {
alert($(this).isClass('active')); // alert returns true if element has that class
if($(this).is('.active'))
{
$(this).parent('ul').children('li').removeClass('active');
$(this).addClass('active');
}
});