2011-08-03 29 views

Trả lời

243

Hãy thử:

$('#mydiv').find('.myclass'); 

JS Fiddle demo.

Hoặc:

$('.myclass','#mydiv'); 

JS Fiddle demo.

Hoặc:

$('#mydiv .myclass'); 

JS Fiddle demo.

Tài liệu tham khảo:

+1

số hai thứ hai sẽ không hoạt động, nhưng tìm là Ok. Hai thứ hai sẽ chọn mọi class = myclass và chọn mọi id = mydiv) tôi nghĩ. – czupe

+2

@czupe: không, trong khi cách tiếp cận ngữ cảnh-chọn được viết khác nhau jQuery thực hiện, nội bộ, cùng '$ ('# mydiv'). Tìm ('. Myclass');' cách tiếp cận như được sử dụng trong đoạn mã đầu tiên. Ngẫu nhiên: '... chọn mọi 'id = mydiv''?Chỉ nên * bao giờ * là một cách sử dụng một 'id' đã cho trong một trang (một' id' [*** phải *** là duy nhất trong tài liệu] (http://www.w3.org/TR/ html401/struct/global.html # h-7.5.2)). –

+0

@DavidThomas Vâng tôi vừa thử $ ('# mydiv .myclass'); và điều đó đã kết thúc việc chọn tất cả các div có lớp myclass thay vì chỉ các div trong mydiv. – user3281466

19

Hãy thử điều này

$("#mydiv div.myclass") 
+0

Hoặc nếu bạn không quan tâm nếu đó là 'div' (hoặc nếu nó sẽ luôn là' div ') bạn có thể đơn giản hóa thành $ (" # mydiv .myclass "). –

+0

@Michael - Vâng, chúng ta chỉ có thể nói .mycalss nhưng nếu chúng ta biết một div của nó, div.myclass sẽ làm cho tìm kiếm nhanh hơn. – ShankarSangoli

+0

@Shankar, nó có lẽ sẽ không làm cho nó nhanh hơn, thay vì chậm hơn. giả sử jquery sử dụng sizzle và không phải là một tài liệu 'document.queryselectorall' nó có thể sẽ tìm kiếm trong cùng một thời trang và trong trường hợp của bạn thực hiện một ** thêm ** kiểm tra. Có thể triển khai bản địa cũng giống nhau. – davin

10

Bạn sẽ làm điều đó giống như cách bạn sẽ áp dụng một selector css. Đối instanse bạn có thể làm

$("#mydiv > .myclass") 

hoặc

$("#mydiv .myclass") 

Người cuối cùng sẽ phù hợp với tất cả các bên trong myclass myDiv, bao gồm myclass bên myclass.

1

hãy thử thay thế này $(".video-divs.focused"). Điều này hoạt động nếu bạn đang tìm kiếm các video-div được tập trung.

-2

hiệu quả hơn và nhanh hơn ai ...

$('#mydiv').find('.myclass').html('<span>Hello World</span>'); 
+1

Thêm một câu trả lời gần như giống hệt, cho câu trả lời gần nhất, hơn 3 năm sau, không thực sự thêm bất kỳ giá trị nào cho bất kỳ ai (trừ bạn bè upvoting nối tiếp của bạn): P –

3

Nếu bạn muốn chọn tất cả các phần tử có thuộc tính lớp "myclass" sử dụng

$('#mydiv .myclass'); 

Nếu bạn muốn chỉ chọn phần tử div có thuộc tính lớp "myclass" sử dụng

$("div#mydiv div.myclass"); 

tìm hiểu thêm về bộ chọn jquery tham khảo các số articles

Các vấn đề liên quan