Hãy nói rằng bạn đang lặp lại thông qua một số đối tượng DOM và bạn muốn tìm và bắt một phần tử với một ID nhất định
<div id="myDiv">
<div id="fo"><div>
<div id="bar"><div>
</div>
Bạn có thể viết một cái gì đó muốn tìm
$('#myDiv').find('#bar')
Lưu ý rằng nếu bạn sử dụng bộ chọn lớp, phương thức tìm sẽ trả về tất cả các phần tử phù hợp.
hoặc bạn có thể viết một chức năng iterating rằng sẽ làm việc cao cấp hơn
<div id="myDiv">
<div id="fo"><div>
<div id="bar"><div>
<div id="fo1"><div>
<div id="bar1"><div>
<div id="fo2"><div>
<div id="bar2"><div>
</div>
$('#myDiv div').each(function() {
if($(this).attr('id') == 'bar1')
//do something with bar1
});
Cùng mã có thể dễ dàng sửa đổi cho selector lớp.
<div id="myDiv">
<div class="fo"><div>
<div class="bar"><div>
<div class="fo"><div>
<div class="bar"><div>
<div class="fo"><div>
<div class="bar"><div>
</div>
$('#myDiv div').each(function() {
if($(this).hasClass('bar'))
//do something with bar
});
Tôi vui vì bạn đã giải quyết được vấn đề của mình với chỉ mục(), điều gì đã hiệu quả với bạn. Tôi hy vọng điều này sẽ giúp những người khác có cùng vấn đề. Chúc mừng :)
Nguồn
2012-01-05 13:30:48
Tôi muốn áp dụng một phong cách cho một div nhất định. Ví dụ tại thời gian tải tất cả với một lớp của foo sẽ được hiển thị, nhưng tôi có thể muốn chuyển đổi một ví dụ của lớp foo off có một id của thanh. –
Sau đó, bạn chỉ cần làm '$ ('# bar.foo'). Toggle();' bạn sẽ chỉ bao giờ có một id khi chúng được yêu cầu là duy nhất cho tài liệu. nếu bạn kiến chỉ chuyển đổi id đó nếu nó là của lớp 'foo' thì chỉ cần thêm lớp vào bộ chọn id. nếu bộ chọn tìm một tập trống thì sẽ không có gì xảy ra, nếu nó tìm thấy một tập hợp với các kết quả (trong đó sẽ chỉ có một) thì nó sẽ chuyển đổi phần tử. tôi nghĩ rằng bạn đang overthinking này. – prodigitalson
Vâng, tất nhiên là cảm ơn. –