我有以下内容:
$("#cityID").change(cityIdChanged(this))
function cityIdChanged(select) {
store.setItem('CityID', select.val());
}
这似乎不起作用,因为它给了我一条错误消息,说“选择”不支持属性 val。
如何传递对更改为我的 cityIdChanged 函数的事物的引用?
我有以下内容:
$("#cityID").change(cityIdChanged(this))
function cityIdChanged(select) {
store.setItem('CityID', select.val());
}
这似乎不起作用,因为它给了我一条错误消息,说“选择”不支持属性 val。
如何传递对更改为我的 cityIdChanged 函数的事物的引用?
$("#cityID").change(function(){
cityIdChanged(this); // "this" is the DOM object
});
function cityIdChanged(select) {
store.setItem('CityID', select.value); // You get value with .value not .val()
}
不要使用 jQuery 来获取输入值。
虽然 jQuery 的目标之一是抽象出 DOM,但了解 DOM 属性可能非常有用。那些在不了解 DOM 的情况下学习 jQuery 的人最常犯的错误之一是利用 jQuery 的强大功能来访问元素的属性:
$('img').click(function() {
$(this).attr('src'); // Bad!
});
在上面的代码中,this
指的是触发 click 事件处理程序的元素。上面的代码既慢又冗长;下面的代码功能相同,而且更短、更快、更易读。
$('img').click(function() {
this.src; // Much, much better
});
$("#cityID").change(cityIdChanged(this))
function cityIdChanged(select) {
store.setItem('CityID', $(select).val()); or // select.value but not select.val()
}