代码A效果很好!在代码B中,我认为 此 将指向 $('#SelectImageFilter') ,但事实上,代码B失败了,为什么?
代码A
$("#SelectImageFilter").change(function () {
temp.imagefilter = $('#SelectImageFilter').get(0).selectedIndex;
});
代码B
$("#SelectImageFilter").change(function () {
temp.imagefilter = this.get(0).selectedIndex;
});
答案 0 :(得分:2)
这并不指向$('#SelectImageFilter')。它实际指向$('#SelectImageFilter')[0]或$('#SelectImageFilter')。在这种情况下为get(0)。
这指向javascript DOM元素,如果你想让它指向jQuery对象,使用$(this)
将代码B更改为
$("#SelectImageFilter").change(function () {
temp.imagefilter = this.selectedIndex;
});