Как найти первый прямой дочерний элемент div - программирование
Подтвердить что ты не робот

Как найти первый прямой дочерний элемент div

Это должно быть легко, но я не могу этого сделать.

У меня есть элемент div с id "LeftScrollableDiv", и я пытаюсь найти под ним первый дочерний элемент:

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

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

Но результат равен нулю. Любая помощь?

4b9b3361

Ответ 1

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

API

Ответ 2

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

Ответ 3

:first-child проверяет, является ли его субъектом первым дочерним элементом его родителя. В этом случае вы пытаетесь выбрать элемент с id #LeftScrollableDiv, который является первым дочерним элементом его родителя. Все селектора : просто фильтруют предыдущий выбор, они не выбирают никаких новых элементов.

В jQuery, к сожалению, нет метода .firstChild, поэтому вы всегда должны сначала выбрать всех детей, а затем вынуть первый.

Возможный селектор для этого:

"#LeftScrollableDiv > :first"

Это намного эффективнее, чем > :first-child.

Ответ 4

Для меня не работало следующее:

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

Если вы найдете то же самое, вы можете обработать объект, возвращенный методом children(), как массив.

Чтобы получить первый элемент:

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

Чтобы получить последний элемент:

$('#LeftScrollableDiv').children()[$('#LeftScrollableDiv').children().length-1]