用Javascript计算一个Div中有多少个UL元素
Count how many UL Elements there are in a Div with Javascript?
我正在动态地向div元素添加UL元素。我希望能够计算DIV中有多少UL元素,以便一旦所有UL被动态删除,我就可以删除包含它们的DIV。
<div id="000">
<ul id="000-1">
<li>Stuff</li>
<li>Stuff</li>
</ul>
<ul id="000-2">
<li>Stuff</li>
<li>Stuff</li>
</ul>
</div>
是否有一个简单的Javascript解决方案,计算ULs的数量,以便我可以做这样的事情…
?if(ulcount == 0){
var remove = document.getElementById("000");
remove.innerHTML = '';
results.parentNode.removeChild("000");
}
谢谢。
@Cheeso的答案是一个很好的纯js解决方案。但是,如果您使用jQuery,这个过程可以变得更简单。
jQuery('div#000').children('ul').length;
上面的代码将返回div#000
的子ul
元素的个数。
要在动态添加元素时更新计数,必须创建一个函数,并在发生变化时调用它来更新计数:
function countUls() {jQuery('div#000').children('ul').length;}
将它绑定到一个事件上,这样当你想要更新号码时它就会被调用。
代码:
function getDirectChildrenByTagName(elt,tagname) {
var allChildren = elt.children, wantedChildren=[], i, L;
tagname = tagname.toUpperCase();
for(i=0, L=allChildren.length; i<L; i++) {
if (allChildren[i].tagName.toUpperCase() == tagname) {
wantedChildren.push(allChildren[i]);
}
}
return wantedChildren;
}
像这样使用:
var zero = document.getElementById("000");
var uls = getDirectChildrenByTagName(zero, 'UL');
var ulCount = uls.length;
....
试试这个:
var x = document.getElementById("000-1").querySelectorAll("li").length
console.log(">>>>", x);
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何通过溢出来判断元素被切断了多少像素:隐藏在父级上
- 使用 jQuery 将多个元素并排放置后,第一个元素的(额外)填充/边距是多少?
- JQuery:如何找出一个元素有多少个子元素
- 以父元素为目标,但不知道子元素和父元素之间有多少节点
- 我可以将jquery事件绑定到的元素的最大数量是多少
- 一个浏览器可以处理多少DOM元素
- Javascript显示根XML文件中有多少元素
- 一次可以播放多少个HTML音频元素
- 一个元素可以包含多少行
- 找出两个元素的起始点之间有多少像素
- 我怎么知道需要多少元素.的身体
- 默认的z-Index是多少?元素,以及如何使用JavaScript获得它
- 用Javascript计算一个Div中有多少个UL元素
- 使用jQuery检测JSON数组中有多少元素发生了变化
- 如果一个元素在HTML中不存在,那么它在表单中的值是多少?
- 我有多少个具有特定标签名称的元素
- 如何检查某种类型的多少元素有一个页面与Chrome扩展开发