Javascript “与”的区别是什么$(本)";及;这是什么;?
我在看报纸。在这两个代码段中使用Javascript “与”的区别是什么$(本)";及;这是什么;?,javascript,jquery,Javascript,Jquery,我在看报纸。在这两个代码段中使用this,会产生混淆 $(document).ready(function() { $("#orderedlist").find("li").each(function(i) { $(this).append( " BAM! " + i ); }); }); $(document).ready(function() { // use this to reset several
this
,会产生混淆
$(document).ready(function() {
$("#orderedlist").find("li").each(function(i) {
$(this).append( " BAM! " + i );
});
});
$(document).ready(function() {
// use this to reset several forms at once
$("#reset").click(function() {
$("form").each(function() {
this.reset();
});
});
});
我们什么时候需要
$(this)
和this
?它们之间有什么区别?提前感谢。这本身就是一个常规对象
$(this)
接受this
并添加jQuery包装器,以便可以对对象使用jQuery方法。this
引用DOM对象。因此,reset()
是表单DOM对象的函数<另一方面,code>append()
是一个jQuery方法,因此它必须由jQuery对象调用,因此,$(this)
当你用
$
包围这个时,你会得到一个表示该DOM对象的jQuery对象。通常在jQuery中,这个将是有问题的DOM元素的一个实例,$(this)
围绕这个构建一个jQuery对象,它提供了像each()
和val()
此
引用DOM元素本身<代码>$(this)
将元素包装到jQuery对象中
在第一个示例中,您需要$(this)
,因为.append()
是一个jQuery方法
在第二个示例中,reset()
是一个JavaScript方法,因此不需要jQuery包装器。如果在同一行代码上使用jQuery函数跟踪它,则只需要$(this)
ex: $(this).find(...); $(this).val(); etc
或者你只需要这个
可能重复的@patrick:我不认为它是重复的。值得回答的是,为什么在这个特定代码的一部分中需要$(这个)
,而在另一部分中需要这个
。@mblase75:嗯,我想我不同意。这个答案,再加上教程已经解释过的内容,使它成为一个重复。阅读另一个问题的答案可以解决这个问题。在教程中:“请注意,在.each()
函数中,这个
指的是实际的元素。”…或者,如果您不喜欢重复的,这里有一个引用同一教程中相同代码的函数:非常感谢您的快速响应@帕特里克,别紧张,伙计。我正在努力学习,人们正在帮助我。你可能在某个时候处于那个阶段。