如何使用 jQuery 选择单个子元素?
使用 jQuery 如何选择单个子元素?我查看了 Traversing API,知道我可以像这样选择所有直接子 img
元素:
$(this).children('img');
并且要选择第一个子 img
元素,我可以使用下标,例如这个:
$(this).children('img')[0];
但我想我有点惊讶我不能这样做:
$(this).child('img'); // no subscript, returns single element
或者我错过了什么?
Using jQuery how do I select a single child element? I've looked at the Traversing API and know I can select all the immediate children img
elements like this:
$(this).children('img');
And to select the first child img
element I could use a subscript like this:
$(this).children('img')[0];
But I guess I'm kind of surprised I can't do this:
$(this).child('img'); // no subscript, returns single element
Or have I missed something?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
我认为你想要做的是这样的:
这会给你一个包含第一个 img 元素的 jquery 对象,而
会给你 img 元素本身。
I think what you want to do is this:
this will give you a jquery object containing the first img element, whereas
will give you the img element itself.
不会。每个 jQuery 函数都会返回一个 jQuery 对象,这就是它的工作原理。这是 jQuery 魔力的关键部分。
如果你想访问底层元素,你有三个选择...
[0]
来引用它扩展 jQuery 来做你想做的事情...
No. Every jQuery function returns a jQuery object, and that is how it works. This is a crucial part of jQuery's magic.
If you want to access the underlying element, you have three options...
[0]
to reference itExtend jQuery to do what you want...
也许是这样?
Maybe in this way?
您可以仅使用带有 jQuery 的 CSS 选择器来定位第一个子元素:
如果您想定位第二个子元素,只需将 1 更改为 2:
依此类推。
如果您想定位更多元素,您可以使用 for 循环:
You can target the first child element with just using CSS selector with jQuery:
If you want to target the second child element just change 1 to 2:
and so on..
if you want to target more elements, you can use a for loop:
不是问题所要求的 jQuery,而是本机(即不需要库)我认为更好的工具是
querySelector
来获取选择器的单个实例:对于所有匹配实例,请使用
document.querySelectorAll()
,或者对于另一个元素中的实例,您可以按如下方式链接:请注意,以上等效于:
Not
jQuery
, as the question asks for, but natively (i.e., no libraries required) I think the better tool for the job isquerySelector
to get a single instance of a selector:For all matching instances, use
document.querySelectorAll()
, or for those within another element you can chain as follows:Note the above is equivalent to: