JavaScript检索特定ul的大小
我有多个ul及其各自的li,我正在尝试检索特定ul的childNodes长度。我在这里的逻辑是,通过标记检索它们,给它们类(这样我就可以设置它们的样式),这样它们就存储在一个数组中,然后我只需检索li作为childNodes.length的特定ul。然而,当我试图瞄准那个些李时,我发现它实际上是在检索所有李,而不管ul 我哪里出错了JavaScript检索特定ul的大小,javascript,Javascript,我有多个ul及其各自的li,我正在尝试检索特定ul的childNodes长度。我在这里的逻辑是,通过标记检索它们,给它们类(这样我就可以设置它们的样式),这样它们就存储在一个数组中,然后我只需检索li作为childNodes.length的特定ul。然而,当我试图瞄准那个些李时,我发现它实际上是在检索所有李,而不管ul 我哪里出错了 var parinte = document.getElementsByTagName("ul"); var copil = docum
var parinte = document.getElementsByTagName("ul");
var copil = document.getElementsByTagName("li");
for (var x = 0; x < parinte.length; x++){
parinte[x].setAttribute("class","parinte");
for (y = 0; y <= parinte[x].childNodes.length; y++) {
copil[y].setAttribute("class","copil");
}
}
var parinteClass = document.getElementsByClassName("parinte");
var copilClass = document.getElementsByClassName("copil");
var bottom = 0;
var altBottom = -20;
for (var x = 0; x < parinte.length; x++) {
parinteClass[x].style.position = "absolute";
parinteClass[x].style.bottom = bottom + "px";
bottom = bottom - 80;
for ( var y = 0; y <= parinte[x].childNodes.length; y++){
if (altBottom === -60) {
altBottom = -20;
}
copilClass[y].style.position = "absolute";
copilClass[y].style.bottom = altBottom + "px";
altBottom = altBottom - 20;
}
}
var parinte=document.getElementsByTagName(“ul”);
var copil=document.getElementsByTagName(“li”);
对于(变量x=0;x
var copil = document.getElementsByTagName("li");
var copil = document.getElementsByTagName("li");
与
或
因为您需要在ul
中缩小搜索范围,而不是在整个文档中缩小搜索范围
您的代码现在应该是
var parinte = document.getElementsByTagName("ul");
for (var x = 0; x < parinte.length; x++){
parinte[x].setAttribute("class","parinte");
var copil = parinte[x].getElementsByTagName("li");
for (y = 0; y < copil.length; y++) {
copil[y].setAttribute("class","copil");
}
}
var parinte=document.getElementsByTagName(“ul”);
对于(变量x=0;x
第二行中的替换
与
谢谢,这似乎破坏了我的代码,但我会解决它。这是破坏你的代码,因为Parint返回了一个列表,我粘贴了一个代码(给出一个想法)在上面使用getElementsByTagName
。请尝试我在下面共享的代码,现在/很抱歉,在我看到您的其他代码之前发布了第一条评论,是的,它现在可以工作了,谢谢!几分钟后将标记为最佳答案。@BlazeBlue没有问题,很高兴提供帮助。
var parinte = document.getElementsByTagName("ul");
for (var x = 0; x < parinte.length; x++){
parinte[x].setAttribute("class","parinte");
var copil = parinte[x].getElementsByTagName("li");
for (y = 0; y < copil.length; y++) {
copil[y].setAttribute("class","copil");
}
}
var copil = document.getElementsByTagName("li");
var copil = parinte.getElementsByTagName("li");