代码A运作良好!在代码B中,我认为这将指向$('#SelectImageFilter'),但实际上,代码B失败了,为什么?

代码A

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

});


代码B

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

});

最佳答案

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

这指向javascript DOM元素,如果希望它指向jQuery对象,请使用$(this)

将代码B更改为

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

关于javascript - 为什么不能在函数中使用它代替对象?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38580655/

10-10 06:53