我在更改方法事件处理程序中遇到addClass / removeClass方法的问题。
我已经注册了我的处理程序:
$('.someSelector').change(MyHandler);
在MyHandler中我有
function MyHandler(){
var input = $(this);
input.addClass('something'); //not working
}
页面加载后我再次通过控制台获取此输入,我正在执行相同的代码,一切正常。那么改变方法有什么问题呢?
答案 0 :(得分:2)
页面加载后我再次通过控制台获取此输入,我正在执行相同的代码,一切正常
因此,这意味着当您第一次尝试绑定事件时,您没有准备好DOM。试试这个:
$(function() {
$('.someSelector').change(MyHandler);
});
答案 1 :(得分:1)
你非常接近。试试这个:
$(document).ready(function () {
$('.someSelector').change(MyHandler);
});
function MyHandler(){
var input = $(this);
input.addClass('something');
}

.something{background-color:red;}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="someSelector">
<option>A</option>
<option>B</option>
<option>C</option>
</select>
&#13;