Jon*_*ney 60 javascript jquery dom-traversal
使用jQuery如何选择单个子元素?我查看了Traversing API并知道我可以选择所有直接子img元素,如下所示:
$(this).children('img');
Run Code Online (Sandbox Code Playgroud)
要选择第一个子img元素,我可以使用这样的下标:
$(this).children('img')[0];
Run Code Online (Sandbox Code Playgroud)
但我想我有点惊讶我不能这样做:
$(this).child('img'); // no subscript, returns single element
Run Code Online (Sandbox Code Playgroud)
还是我错过了什么?
Gre*_*reg 90
我想你想要做的是:
$(this).children('img').eq(0);
Run Code Online (Sandbox Code Playgroud)
这将给你一个包含第一个img元素的jquery对象,而
$(this).children('img')[0];
Run Code Online (Sandbox Code Playgroud)
会给你img元素本身.
Jos*_*ola 40
不.每个jQuery函数都返回一个jQuery对象,这就是它的工作原理.这是jQuery魔术的重要组成部分.
如果要访问底层元素,您有三个选项......
[0]引用它扩展jQuery以做你想要的......
$.fn.child = function(s) {
return $(this).children(s)[0];
}
Run Code Online (Sandbox Code Playgroud)