1

我有一些这样的 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");
  }
  ...
});

好吧,我的脚本不行$("#id"),Chrome 开发者工具的 js 控制台也不行。这是怎么回事?是否有可能在this对象是事件引发者的侦听器中,$("")选择器无法正常工作?

谢谢

编辑:只是问题中的一个错字,我忘记了#第一个选择器中的。问题还在。

4

5 回答 5

1

你错过#了 jquery 选择器
试试这个:

$("#myselect").addEvents({
  ..., 
  change: function(){
    $("#mydiv").addClass("anotherclass");
  }
  ...
});
于 2013-08-06T10:41:35.760 回答
0

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

$(document).ready(function() {
    $('#myselect').on({
        change: function() {
            $('#mydiv').addClass('anotherClass');
        }
    });
});
于 2013-08-07T07:48:19.077 回答
0

您是否忘记使用准备好的文件?因为如果您在 DOM 准备好之前尝试选择元素,jQuery 将找不到元素。

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

  ... })
});
于 2013-08-06T13:17:42.633 回答
0

也许它必须$("#myselect")代替$("myselect")

于 2013-08-06T10:41:08.807 回答
0

我只看了一小部分代码;现在我把它变红了,它似乎是 MooTools,而不是 jQuery;我之前没有注意到。所以,我认为这就是问题所在。

于 2013-08-06T15:15:48.287 回答