Bri*_*one 10 jquery this selector
我需要帮助理解$(this).是否有可能在括号内缩小"this"的焦点,或者"this"是否排除使用任何其他属性?
例如:我不明白为什么这段代码:
$(this).children("div")
Run Code Online (Sandbox Code Playgroud)
不能像这样重写:
$(this +" div")
Run Code Online (Sandbox Code Playgroud)
无需诉诸:
$('#'+$(this).attr("id")+" div")
Run Code Online (Sandbox Code Playgroud)
另外,你能在JQuery文档中指出'this'吗?由于显而易见的原因,很难将"this"用作搜索词.
Nic*_*ver 17
this不是jQuery"的东西",而是一个基本的JavaScript.它不能像你在示例中那样重写,因为它是一个对象,特别是DOM元素或jQuery对象(取决于你所处的上下文).所以,如果你这样做:
$(this + " div")
Run Code Online (Sandbox Code Playgroud)
什么你真的做的是呼吁.toString()对this来连接字符串,导致:
$("[object Object] div")
Run Code Online (Sandbox Code Playgroud)
....这不是一个有效的选择器.
至于进一步阅读,我相信这篇文章仍然是学习this(上下文关键字)含义的最佳参考/资源之一.
根据评论请求,this各种地方的一些例子:
$("selector").click(function() { alert(this); });
this 指触发事件处理程序的DOM元素.$.fn.myPlugin = function() { alert(this); });
this是插件被调用/链接的jQuery对象,例如:$("selector").myPlugin();,this是$("selector")jQuery对象.function myFunc() { alert(this); };
this 是你所处的背景,无论是一个对象还是其他东西,一些例子:$("selector").click(myFunc);- this是DOM元素,如上所述$("selector").click(function() { myFunc(); });- this是全球内容,windowmyFunc.call(whatThisIs, arg1, arg2);- this是whatThisIs
使用 .find()
$( this ).find( 'div' )
Run Code Online (Sandbox Code Playgroud)
或者使用context参数来jQuery( selector, context )(在内部,它只是调用查找...)
$( 'div', this )
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50974 次 |
| 最近记录: |