如何在javascript或Jquery中获取父div中的子child计数?
我不知道如何计算父分区中的子分区,也许有人能帮我解决这个问题。我不太擅长javascript或Jquery 这是我的密码:如何在javascript或Jquery中获取父div中的子child计数?,javascript,jquery,html,Javascript,Jquery,Html,我不知道如何计算父分区中的子分区,也许有人能帮我解决这个问题。我不太擅长javascript或Jquery 这是我的密码: $(function () { var parent = document.getElementById('parent').children; var cnt = 0; if (parent) { var match = 'child'; for (var i = 0; i < parent.length; i
$(function () {
var parent = document.getElementById('parent').children;
var cnt = 0;
if (parent) {
var match = 'child';
for (var i = 0; i < parent.length; i++) {
var temp = parent[i].getAttribute('id');
if (temp.indexOf(match) == 0) {
cnt++;
}
}
}
console.log(cnt);
});
$(函数(){
var parent=document.getElementById('parent').children;
var-cnt=0;
如果(家长){
变量匹配='子';
对于(变量i=0;i
您可以使用选择器
[id^=subchild]
将选择其id
值以(^
)子项开始的所有元素
选择具有指定属性且值正好以给定字符串开头的元素
$(函数(){
var subchildrenLen=$('#parent[id^=subchild]')。长度;
$('body').append('No of children='+subchildrenLen);
});代码>
您可以试试这个:
$(document).ready(function() {
alert($('#parent [id^=subchild]').length)
});
由于子孩子
是div的子孩子
是父孩子
的子孩子,您可以使用选择器\parent>div>div
,是
$(函数(){
var len=$('#parent>div>div')。长度;
警报(len);
});代码>
属性包含选择器[名称*=“值”]
这里根本不需要jQuery,只需使用并检查返回节点列表的长度即可
console.log(document.querySelectorAll('#parent>[id^=child]').length)
非常感谢您,先生@Tushar。我马上就接受。这不是操作码的功能。您可以捕获父级(任何嵌套级别)中ID以“subchild”开头的任意div。原始代码只查找1级深度,并查找“child”。当然,这是一个简单的解决方案。为了完全匹配它,我会将其设置为#parent>[id^=child]
@Amit是的,这会有点困难efficient@aldrin27您是指id以subchild
开头的元素,可以更新答案。无论如何,您已经有了这样的想法:)您根本没有使用jQuery。为什么要问它,如果不需要,为什么要将它“引入”到代码库中?是的,但我知道有一个代码可以使用jquery获得我想要的输出。您可以用非常简单的方式(甚至一行)不用jquery就可以做到,请看我的答案。我不相信为了简单的任务而去臃肿的库。请编辑你的问题,包括相关的HTML,并准确解释你想要计算的内容,因为您当前的问题不是您在回答的注释中所要求的。有一个问题,您还可以在这里得到child div的数量,对吗?我想OP只需要子孩子。@Pekka,它完全模仿OP代码的功能。如果意图不同,应该注意。为了完全匹配它,我会将其设置为#parent>[id^=child]
。同样适用于您:)@Amit OP想要子孩子,请查看我答案上的评论,您需要更新您的答案才能获得答案valid@Tushar-谢谢,但不用了,谢谢。答案应该解决评论中的请求,他们应该解决张贴的问题。否则,当有人在6个月后遇到这个问题时,会说:“嘿,这正是我需要的!让我们看看答案吧!”他们会得到一个与问题不匹配的答案,会感到困惑,并发现代码不起作用。这不是设计的方式。这将是一个糟糕的选择,因为OP想要选择直接的孩子(可以从相关代码中看到),并且div[id*=“child”]
将给出结果6
。*
@Tushar的副作用这就是为什么我使用的选择器文本是subchild,因为他想要subchild。请检查有问题的代码。注意var匹配='child'
和if(temp.indexOf(match)=0{cnt++;}
@tusharcode可能是错误的,但问题表明div的子孩子
很明显,我们可以说他想要带有子孩子
ID
的div,我们可以假设代码有点不明白OP想要什么,你的回答也是正确的
alert($('#parent').find('div[id*="subchild"]').length)