为什么我不能在函数中使用它而不是对象?

时间:2016-07-26 03:41:30

标签: javascript jquery

代码A效果很好!在代码B中,我认为 将指向 $('#SelectImageFilter') ,但事实上,代码B失败了,为什么?

代码A

$("#SelectImageFilter").change(function () {
            temp.imagefilter = $('#SelectImageFilter').get(0).selectedIndex;        

});

代码B

$("#SelectImageFilter").change(function () {
            temp.imagefilter = this.get(0).selectedIndex;        

});

1 个答案:

答案 0 :(得分:2)

这并不指向$('#SelectImageFilter')。它实际指向$('#SelectImageFilter')[0]或$('#SelectImageFilter')。在这种情况下为get(0)。

这指向javascript DOM元素,如果你想让它指向jQuery对象,使用$(this)

将代码B更改为

$("#SelectImageFilter").change(function () {
        temp.imagefilter = this.selectedIndex;        
});