用js只获取第一层ul中的第一层的所有li,不影响第二层中的li

用js只获取第一层ul中的第一层的所有li,不影响第二层中的li,第1张

先按照你的这个方法获取。然后可以通过判断li的parentNode是不是外层的ul来筛选li

或者可以这么写

var ul = documentgetElementById('outer');

var n = ulfirstChildnodeType == 1ulfirstChild:ulfirstChildnextSibling;

var r = [];

for(;n;n = nnextSibling){

if(nnodeType == 1){

consolelog(ninnerHTML);

rpush(n);

}

};

<div>

11

<ul>

<li>1</li>

<ul onmouseout="aa(this)"> <li>33</li></ul>

<li>2</li>

</ul>

</div>

<SCRIPT type=text/javascript>

function aa(obj)

{

alert(objparentNodeparentNodepreviousSiblingdata);//第一个11

alert(objpreviousSiblingdata);//第二个1

alert(objchildNodes[0]innerText);//第三个33

alert(objparentNodenextSiblinginnerText);//第四个2

}

</SCRIPT>

给ul加一个唯一标识,一般用ID然后用documentgetElementById(刚刚给ul设置的ID)定位到ul再用ObjectchildNodes获取此ul下的所有li,返回的是一个存有li对象的数组有效下标为0~(你的li数量-1)之后就可以随意 *** 作了给你写个简单例子吧,还有不懂可以Q我<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 10 Transitional//EN" " >

1l的才算对,2l的就有点,,嗯你都知道id了还取什么呢,不过一楼是用jquery的,我就说一下js的吧

documentgetElementsByTagName("li")[index]id

onload=function(){

    var ul = documentgetElementsByTagName("ul")[0];

    getLis(ul);

}

var getLis = function(ul){

    var ulc = ulchildren;

    for(var i = 0; i < ulclength; i++){

        var lii = ulc[i];

        if(liitagNametoLowerCase() == "li"){

            consolelog(lii);

        }

        var cs = liichildren;

        for(var j = 0; j < cslength; j++){

            var csj = cs[j];

            if(csjtagNametoLowerCase() == "ul"){

                getLis(csj);

            }

        }

    }

}

首选假设有一个DOM结构

<div id="content">

<ul><li>1</li></ul>

<ul><li>2</li></ul>

</div>

现在我取content元素下的第二个ul元素下的li元素的个数,代码如下

$(function(){

$("#content ul:nth-child(2)")children("li")length;

});

<script type="text/javascript">

function pro(){

//得到li的数组

var lis = documentgetElementById("ul的ID")getElementsByTagName("li");

for(var i=0;i<9;i++){

var li = lis[i];

//你要的9个li

}

}

</script>

以上就是关于用js只获取第一层ul中的第一层的所有li,不影响第二层中的li全部的内容,包括:用js只获取第一层ul中的第一层的所有li,不影响第二层中的li、js 如何获取 UL外面的LI的内容、ul li ul il结构用js怎么获取最底层的li对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9663833.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存