2013-08-06 16 views
0

我有一些HTML这样的:jQuery中的侦听器ID晚晴元素

<select id="myselect"> 
    <option>...</option> 
    <option>...</option> 
    <option>...</option> 
</select> 

<div class="myclass" id="mydiv">[...]</div> 

,并即时我的JS

$("#myselect").addEvents({ 
    ..., 
    change: function(){ 
    $("#mydiv").addClass("anotherclass"); 
    } 
    ... 
}); 

好了,我的脚本不能精细$("#id"),既不在JS Chrome开发者工具的控制台。这是怎么回事?有可能在听众中,this对象是事件提升者,$("")选择器无法正常工作?

谢谢

编辑:只是一个错字的问题,我的第一选择忘了#。问题依然存在。

+0

只是出于好奇,什么是'ADDEVENTS '? – billyonecan

回答

0

我只看着代码的一小部分;现在我发现它并且它似乎是MooTools,而不是jQuery;我之前没有注意到。所以,我认为这是问题所在。

0

也许它必须是$("#myselect")而不是$("myselect")

0

你已经错过#到jQuery选择
试试这个:

$("#myselect").addEvents({ 
    ..., 
    change: function(){ 
    $("#mydiv").addClass("anotherclass"); 
    } 
    ... 
}); 
0

你忘了使用的文件准备好了?因为如果您在DOM准备好之前尝试选择它们,jQuery将无法找到元素。

$(document).ready(function() { 
    $("#myselect").addEvents({ .... 

    ... }) 
}); 
0

addEvents()不是一个jQuery方法(我相信这是MooTools的),如果你想使用与上述相同的语法绑定的事件处理程序,使用on()

$(document).ready(function() { 
    $('#myselect').on({ 
     change: function() { 
      $('#mydiv').addClass('anotherClass'); 
     } 
    }); 
});