我试图在不使用类名的情况下计算组中的给定数量:
<div class="item" id="home1">home 1 text here</div>
<div class="item" id="home2">home 2 text here</div>
<div class="item" id="home3">home 3 text here</div>
<div class="item" id="home4">home 4 text here</div>
我试过这个
alert($(['id^="home"']).length);
但它一直给我0
有没有更合适的方法呢?
答案 0 :(得分:6)
语法错误,试试这个:
alert($('[id^="home"]').length);
答案 1 :(得分:1)
如果您的div是包含元素中的所有兄弟姐妹,则可以$('.parentClass').find('div').length;
答案 2 :(得分:0)
您的单引号位于错误的位置。你把它们放在方括号内。它们需要在括号之外。
试试这个
alert($('[id^="home"]').length);
答案 3 :(得分:0)
答案 4 :(得分:0)
我会将div包装在另一个div中,并给包装器一个id。 然后只在这个包装器中计算div。
<div id="wrapper">
<div class="item" id="home1">home 1 text here</div>
<div class="item"id="home2">home 2 text here</div>
<div class="item" id="home3">home 3 text here</div>
<div class="item" id="home4">home 4 text here</div>
</div>
这也会更有效率。因为它使用#wrapper
找到getElementById
,然后只在它的子节点上运行,而不是在整个文档的元素上运行,搜索id模式。
alert($("#wrapper .item").length);
答案 5 :(得分:0)
您的问题似乎已经解决(错位括号)但除了使用id
子字符串之外,还有其他方法可以选择元素。
<div id="homeDiv">
<div class="item" id="home1">home 1 text here</div>
<div class="item" id="home2">home 2 text here</div>
<div class="item" id="home3">home 3 text here</div>
<div class="item" id="home4">home 4 text here</div>
</div>
JS:
$("#homeDiv .item"); //If they are wrapped in a div, specify that and use descendant selection
<div class="item home" id="home1">home 1 text here</div>
<div class="item home" id="home2">home 2 text here</div>
<div class="item home" id="home3">home 3 text here</div>
<div class="item home" id="home4">home 4 text here</div>
JS:
$("div.item.home"); //Elements can have multiple classes
$(".home"); //And you can use any class name to select them.