如果this()选择器在函数中使用,它将引用哪个选择器(jQuery)
If this() selector is used inside a function, which selector will it refer to (jQuery)?
例如我有一个函数:
function somefunction () {
$('someselector').fadeOut('slow', function() { $(this).remove; });
}
则在
内部调用该函数:$('someselector1').click(function() {
somefunction ();
});
somefunction()
里面的$(this)
是指someselector()
还是指someselector1()
?正如我所理解的,this()
指的是触发事件的选择器,在这种情况下,是someselector1。对吗?
表示匹配someselector
的DOM元素。this
设置为fadeOut
函数正在应用的元素。
this
在someFunction
内(但不在fadeOut
的回调函数内)将是对window
对象的引用。
function somefunction () {
// "this", unless specifically set, will refer to "window"
$('someselector').fadeOut('slow', function() {
// "this" refers to the element that just finished fading out.
$(this).remove;
});
}
例子: http://jsfiddle.net/9ubgH/
请注意,$(this)
语法并没有什么神奇之处——它只是将this
指向的内容提供给(重载的)jQuery主入口点,而jQuery所做的完全取决于它是什么类型的东西。特别是,JQuery 不知道你从this
获得了它的参数。
这是相关的,因为仅仅存在于函数中并不能告诉您this
将是什么——这或多或少取决于函数的调用者来决定。在您的情况下,函数恰好是从将this
设置为可预测的代码中调用的,但这不是您可以假设的一般函数。
指someselector
。
$('someselector').fadeOut('slow', function() { $(this).remove; });
在上面的fadeOut
回调中,this
将指向它正在褪色的元素,因此this
将指向someselector
。
在本例中,它指的是" someeselector "。
查看此提琴http://jsfiddle.net/6gdnw/
相关文章:
- 在动态创建的元素上获取对特定选择器的引用
- 性能问题:存储对DOM元素的引用与使用选择器相比
- 指定jQuery选择器所引用的HTML页面
- 未定义的引用-jQuery选择器与JavaScript变量
- 不包含块引用的节点的查询选择器
- jQuery在以下选择器中引用初始元素选择器
- 如何仅通过单独的图标而不是引用的输入字段激活 YUI 日期选择器
- 选择器 $(body) 有效但破坏了代码(引用错误),而 $(“body”) 没有显示错误但不起作用
- JQuery引用变量带有选择器,数据错误
- 如何从C3 JS图表的选择器中获取对象引用
- 为什么$.fn.find()中的选择器不能引用当前$作用域之外的树?
- 如何获取jQuery选择器's返回列表的引用
- 如何Webstorm搜索由jquery选择器获取的引用
- 使用querySelector(..)在样式块中引用选择器
- 如果this()选择器在函数中使用,它将引用哪个选择器(jQuery)
- 你能找到ClientX吗?ClientY引用一个选择器而不是窗口
- 如何在选择器中引用SharePoint属性?
- 将$(this)与多个选择器一起使用,你能引用其中一个而不是另一个吗
- 引用已经在HTML链接标记中的ID(作为选择器)
- 如何将DOM引用转换为jQuery选择器