我有一些像这样的HTML:
<select id="myselect">
<option>...</option>
<option>...</option>
<option>...</option>
</select>
<div class="myclass" id="mydiv">[...]</div>
和我的js
$("#myselect").addEvents({
...,
change: function(){
$("#mydiv").addClass("anotherclass");
}
...
});
好吧,我的脚本无法在Chrome开发者工具的js控制台中使用$("#id")
。这是怎么回事?可能在监听器中,this
对象是事件提升者,$("")
选择器无法正常工作吗?
谢谢
编辑:在问题中只是一个拼写错误,我忘记了第一个选择器中的#
。问题仍然存在。
答案 0 :(得分:0)
可能必须是$("#myselect")
而不是$("myselect")
答案 1 :(得分:0)
你错过#
进入jquery选择器
试试这个:
$("#myselect").addEvents({
...,
change: function(){
$("#mydiv").addClass("anotherclass");
}
...
});
答案 2 :(得分:0)
您是否忘记使用文档?因为如果你在DOM准备好之前尝试选择它们,jQuery就找不到元素。
$(document).ready(function() {
$("#myselect").addEvents({ ....
... })
});
答案 3 :(得分:0)
我正在观看代码中的一小部分;现在我把它改成它似乎是MooTools,而不是jQuery;我之前没有注意到。所以,我认为这就是问题所在。
答案 4 :(得分:0)
addEvents()
不是jQuery方法(我相信它是MooTools),如果你想使用与上面相同的语法绑定事件处理程序,请使用on()
:
$(document).ready(function() {
$('#myselect').on({
change: function() {
$('#mydiv').addClass('anotherClass');
}
});
});