代码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/