21

这应该很容易,但我做不到。

我有一个 id 为“LeftScrollableDiv”的 div 元素,我试图在它下面找到第一个子元素:

$("#LeftScrollableDiv:first-child");

<div id="LeftScrollableDiv:first">
   <table></table>
</div>

但结果为空。有什么帮助吗??

4

4 回答 4

52
$('#LeftScrollableDiv').children().first();

API

于 2012-07-13T09:55:23.577 回答
11
$("#LeftScrollableDiv > :first-child");
于 2012-07-13T09:55:49.033 回答
4

:first-child检查其主题是否是其父级的第一个子级。在这种情况下,您尝试选择 id#LeftScrollableDiv是其父级的第一个子级的元素。所有的:选择器只是过滤之前的选择,他们不选择任何新的元素。

遗憾的是,jQuery 中没有.firstChild方法,因此您必须始终先选择所有子项,然后取出第一个。

一个可能的选择器是:

"#LeftScrollableDiv > :first"

这比> :first-child.

于 2012-07-13T10:07:24.560 回答
0

以下对我不起作用:

$('#LeftScrollableDiv').children().first();

如果发现相同,则可以将 children() 方法返回的对象视为数组。

获取第一个元素:

$('#LeftScrollableDiv').children()[0]

获取最后一个元素:

$('#LeftScrollableDiv').children()[$('#LeftScrollableDiv').children().length-1]
于 2016-01-06T13:17:25.140 回答