对于所有jQuery专家,我可以使用您的帮助指出我的部分可能是一个愚蠢的错误。当用户点击一个带有热点类的div时,我试图交换类onclick。下面的代码在我第一次点击时交换了课程,而不是第二次和以后的课程。此外,如果有更清晰的方式来完成这个请让我知道。在jQuery中更改类仅在第一次点击时才起作用
在此先感谢您的专业知识。
的jQuery:
$('.hotspot').click(function() {
if($(this).parent().attr("class") == 'checked'){
$(this).parent().removeClass('checked').addClass('unchecked');
}
if($(this).parent().attr("class") == 'unchecked'){
$(this).parent().removeClass('unchecked').addClass('checked');
}
});
标记:
<ul id="prettyCheck">
<li class="checked">
<div class="hotspot"></div>
<div class="desc"><div class="descPad">Some text</div></div>
</li>
<li class="unchecked">
<div class="hotspot"></div>
<div class="desc"><div class="descPad">Some text</div></div>
</li>
</ul>
谢谢!肯定会越来越近,切换工作得很好,我发现我可以根据需要继续添加,唯一的问题是,当班级默认为未选中时,我必须在班级切换之前点击两次。我曾尝试交换功能,但只有在检查时导致相同的情况才是默认设置。 – Sheldon 2010-02-10 06:00:48
尝试我的更新以上... – Reigel 2010-02-10 06:01:51
你的更新是完美的切换类,我仍然搞清楚如何做切换后,我需要的条件事物,即。除了复选框以外,还显示/隐藏了其他div。 – Sheldon 2010-02-10 06:14:08