JQuery $(this)选择器功能和限制

前端之家收集整理的这篇文章主要介绍了JQuery $(this)选择器功能和限制前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要帮助理解$(this).是否有可能在括号内缩小“this”的焦点,或者“this”是否排除了使用任何其他属性

例如:我不明白为什么这段代码

$(this).children("div")

不能像这样重写:

$(this +" div")

而不必诉诸于:

$('#'+$(this).attr("id")+" div")

另外,你能在JQuery文档中指出’this’吗?由于显而易见的原因,很难将“this”用作搜索词.

解决方法

this不是jQuery“的东西”,而是 basic JavaScript one.它不能像你在示例中那样重写,因为它是一个对象,特别是DOM元素或jQuery对象(取决于你的上下文)重新).所以,如果你这样做:
$(this + " div")

你真正要做的是在this调用.toString()来连接字符串,结果是:

$("[object Object] div")

….这不是一个有效的选择器.

至于进一步阅读,我相信this article仍然是了解这个(上下文关键字)含义的最佳参考/资源之一.

根据评论请求,在不同的地方有一些例子:

>事件处理程序,例如:$(“selector”).click(function(){alert(this);});

>这是指触发事件处理程序的DOM元素.

>在jQuery插件中,例如:$.fn.myPlugin = function(){alert(this); });

>这是插件调用/链接的jQuery对象,例如:$(“selector”).myPlugin();,这就是$(“selector”)jQuery对象.

>在任何泛型函数中,例如:function myFunc(){alert(this); };

>这是你所处的背景,无论是对象还是其他东西,只有几个例子:
> $(“selector”).click(myFunc); – 这是DOM元素,如上所述
> $(“selector”).click(function(){myFunc();}); – 这是全球内容,窗口
> myFunc.call(whatThisIs,arg1,arg2); – 这就是这个

>有关详细信息,请参阅Function.call()Function.apply()

原文链接:https://www.f2er.com/jquery/179142.html

猜你在找的jQuery相关文章