tôi có một danh sáchLàm cách nào để đếm số trẻ em?
<ul>
<li>
<li>
<li>
...
</ul>
Tôi cần jQuery để đếm số lượng các mục trong danh sách của tôi.
tôi có một danh sáchLàm cách nào để đếm số trẻ em?
<ul>
<li>
<li>
<li>
...
</ul>
Tôi cần jQuery để đếm số lượng các mục trong danh sách của tôi.
Bạn có thể sử dụng .length
, như thế này:
var count = $("ul li").length;
.length
kể có bao nhiêu phù hợp với selector tìm thấy, vì vậy đây đếm có bao nhiêu <li>
dưới <ul>
yếu tố mà bạn có ... nếu có tiểu trẻ em, sử dụng "ul > li"
thay vì chỉ nhận được trực tiếp trẻ em. Nếu bạn có các phần tử <ul>
khác trong trang của mình, chỉ cần thay đổi công cụ chọn để chỉ đối sánh với phần tử của mình, ví dụ: nếu nó có ID bạn muốn sử dụng "#myListID > li"
.
Trong tình huống khác mà bạn không biết loại con, bạn có thể sử dụng *
(wildcard) selector, hoặc .children()
, như thế này:
var count = $(".parentSelector > *").length;
hay:
var count = $(".parentSelector").children().length;
gì nếu nó không biết rằng đứa trẻ là "li", và có thể là bất cứ điều gì? – Starx
@Starx: '$ (" # parent "). Children(). Length' – alecananian
@AlecAnanian, Không, tôi biết cách. Ý tôi là tôi hy vọng Nick cũng sẽ thêm nó vào câu trả lời của anh ấy. – Starx
Thử để sử dụng:
var count = $("ul > li").size();
alert(count);
Điều gì sẽ xảy ra nếu bạn sử dụng tính năng này để xác định chọn hiện tại để tìm con của nó vì vậy đây giữ: <ol>
sau đó là <li>
s dưới làm thế nào để viết một selector var count = $(this+"> li").length;
wont work ..
nếu ol có một lớp bạn có thể viết '$ (" ol.class> li "). – Qwerty
Bạn không cần jQuery cho việc này. Bạn có thể sử dụng JavaScript của .childNodes.length
.
Chỉ cần đảm bảo trừ 1 nếu bạn không muốn bao gồm nút văn bản mặc định (nút này trống theo mặc định). Vì vậy, bạn muốn sử dụng như sau:.
var count = elem.childNodes.length - 1;
quên jquery 'document.querySelectorAll ('ul li') length' – caub