JavaScript检索特定ul的大小

JavaScript检索特定ul的大小,javascript,Javascript,我有多个ul及其各自的li,我正在尝试检索特定ul的childNodes长度。我在这里的逻辑是,通过标记检索它们,给它们类(这样我就可以设置它们的样式),这样它们就存储在一个数组中,然后我只需检索li作为childNodes.length的特定ul。然而,当我试图瞄准那个些李时,我发现它实际上是在检索所有李,而不管ul 我哪里出错了 var parinte = document.getElementsByTagName("ul"); var copil = docum

我有多个ul及其各自的li,我正在尝试检索特定ul的childNodes长度。我在这里的逻辑是,通过标记检索它们,给它们类(这样我就可以设置它们的样式),这样它们就存储在一个数组中,然后我只需检索li作为childNodes.length的特定ul。然而,当我试图瞄准那个些李时,我发现它实际上是在检索所有李,而不管ul

我哪里出错了

  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");