Tôi đang cố gắng chọn tất cả các <div>
s có cùng ID trong jQuery. Tôi phải làm nó như thế nào?
Tôi đã thử điều này và nó không hoạt động
jQuery('#xx').each(function(ind,obj){
//do stuff;
});
Tôi đang cố gắng chọn tất cả các <div>
s có cùng ID trong jQuery. Tôi phải làm nó như thế nào?
Tôi đã thử điều này và nó không hoạt động
jQuery('#xx').each(function(ind,obj){
//do stuff;
});
Câu trả lời:
Tôi sẽ sử dụng các ID khác nhau nhưng chỉ định mỗi DIV cùng một lớp.
<div id="c-1" class="countdown"></div>
<div id="c-2" class="countdown"></div>
Điều này cũng có thêm lợi ích là có thể tạo lại các ID dựa trên sự trả về của jQuery ('. Countdown'). Length
Ok việc thêm nhiều lớp vào mỗi đồng hồ đếm ngược. I E:
<div class="countdown c-1"></div>
<div class="countdown c-2"></div>
<div class="countdown c-1"></div>
Bằng cách đó bạn sẽ có được những điều tốt nhất của cả hai thế giới. Nó thậm chí còn cho phép lặp lại 'IDS'
Mặc dù có những câu trả lời đúng khác ở đây (chẳng hạn như sử dụng các lớp), theo quan điểm học thuật, tất nhiên là có thể có nhiều div có cùng ID và có thể chọn chúng bằng jQuery.
Khi bạn sử dụng
jQuery("#elemid")
nó chỉ chọn phần tử đầu tiên có ID đã cho.
Tuy nhiên, khi bạn chọn theo thuộc tính (ví dụ: id trong trường hợp của bạn), nó trả về tất cả các phần tử phù hợp, như sau:
jQuery("[id=elemid]")
Tất nhiên, điều này hoạt động để lựa chọn trên bất kỳ thuộc tính nào và bạn có thể tinh chỉnh thêm lựa chọn của mình bằng cách chỉ định thẻ được đề cập (ví dụ: div trong trường hợp của bạn)
jQuery("div[id=elemid]")
Tài liệu của bạn không được chứa hai div có cùng id. Đây là HTML không hợp lệ và do đó, DOM API bên dưới không hỗ trợ nó.
Từ tiêu chuẩn HTML :
id = name [CS] Thuộc tính này gán tên cho một phần tử. Tên này phải là duy nhất trong một tài liệu.
Bạn có thể gán các id khác nhau cho mỗi div và chọn cả hai bằng cách sử dụng $('#id1, #id2)
. Hoặc gán cùng một lớp cho cả hai phần tử ( .cls
ví dụ) và sử dụng $('.cls')
để chọn cả hai.
id
, không phải name
.
$("div[id^=" + controlid + "]")
sẽ trả về tất cả các điều khiển có cùng tên nhưng bạn cần đảm bảo rằng văn bản không được xuất hiện trong bất kỳ điều khiển nào
Bạn có thể chỉ định một lớp CSS duy nhất cho mỗi bộ đếm thời gian riêng biệt không? Bằng cách đó, bạn có thể sử dụng bộ chọn cho lớp CSS, công cụ này sẽ hoạt động tốt với nhiều div
phần tử.