我通过addClass添加了一个类。我为这个添加的类有一个onclick函数。但是jQuery忽略了我为该类创建的click函数。
我在JSFIDDLE here
上测试了它 <style type="text/css">
.openInfo:hover{color:red}
.closeInfo:hover{color:blue}
</style>
<div class="openInfo">OPEN</div>
<script>
$('.openInfo') //executes correctly
.click(function() {
$(this).text("CLOSE");
$(this).addClass('closeInfo');
$(this).removeClass('openInfo');
});
$('.closeInfo') //ignored
.click(function() {
$(this).text("OPEN");
$(this).addClass('openInfo');
$(this).removeClass('closeInfo');
});
</script>
顺便说一句,出于某种原因,如果我使用1.5.2, none 代码可以在jsfiddle上运行? 这必须是一个jsfiddle错误吗?我至少在测试服务器上使用1.5.2得到了相同的结果。
答案 0 :(得分:4)
由于您动态添加了此类,因此您需要live而不是单击:
$('.closeInfo') //ignored
.live("click", function() {
$(this).text("OPEN");
$(this).addClass('openInfo');
$(this).removeClass('closeInfo');
});