jQuery div类更改

时间:2013-08-18 23:54:21

标签: javascript jquery

#myDiv是一个可点击的框,如果点击#myDiv,则会添加一个类.opened。我的jQuery读取

if ($('#myDiv').hasClass('open')){
 var myValue = "1";
}else{
 var myValue = "2";
}

显然,在页面加载完成后,myValue总是等于2,但点击#myDiv后,myValue仍然是2.我应该使用哪个事件来检测我的元素是否发生变化?我也想支持IE7 +。谢谢!

3 个答案:

答案 0 :(得分:1)

尝试此解决方案:http://jsfiddle.net/charaf11/Emv8L/

function containOpen(){
  if ($('#myDiv.open').length==1){
  var myValue = "1";

  }
  else{
       var myValue = "2";
      }

}

答案 1 :(得分:0)

您必须重新运行代码,因为已添加/删除了某个类,因此无法更改该代码。

因此,当点击发生时,您需要调用一个将设置值的函数。

答案 2 :(得分:0)

在您的点击事件监听器中,为您的元素订阅自定义trigger $('#myDiv').trigger('openedClassAdded')

然后

$('#myDiv').on('openedClassAdded', function () {
    myValue = '2';
});