2012-07-13 29 views
16

Điều này phải dễ dàng nhưng tôi không thể làm được.Cách tìm phần tử con trực tiếp đầu tiên của div

Tôi có một phần tử div với id "LeftScrollableDiv" và tôi đang cố gắng để tìm ra phần tử con đầu tiên dưới nó:

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

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

Nhưng kết quả là null. Bất kỳ trợ giúp?

+5

'$ ('# LeftScrollableDiv') trẻ em() đầu tiên()' – techfoobar

+0

http:..//api.jquery.com/ là bạn của bạn ... – Christoph

Trả lời

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

API

+0

@christoph cảm ơn vì định dạng;) – rsplak

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

Các :first-child kiểm tra nếu nó đề là đứa con đầu lòng của mẹ. Trong trường hợp này, bạn đang cố gắng chọn phần tử có id #LeftScrollableDiv là con đầu tiên của cha mẹ của nó. Tất cả các bộ chọn : chỉ lọc lựa chọn trước đó, chúng không chọn bất kỳ phần tử mới nào.

Rất tiếc, không có phương pháp .firstChild trong jQuery, do đó bạn phải luôn chọn tất cả các trẻ trước và sau đó lấy ra con đầu tiên.

Một bộ chọn tốt để làm điều đó là:

"#LeftScrollableDiv > :first" 

Which is far more efficient than > :first-child.

1

Sau đây không làm việc cho tôi:

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

Nếu bạn tìm thấy cùng, sau đó bạn có thể điều trị các đối tượng được trả về bởi các trẻ em() phương pháp như một mảng.

Để có được các yếu tố đầu tiên:

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

Để có được yếu tố cuối cùng:

$('#LeftScrollableDiv').children()[$('#LeftScrollableDiv').children().length-1] 
Các vấn đề liên quan