用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>

想了半天js没想到什么好用的办法,jQuery倒是可以实现,但是js我倒是想到了一个比较笨的方法

先获得aul下所有的li的长度,然后获得bul下的li的长度,相减得到aul的子li的长度,就是你想要的那些li的长度,然后通过documentgetElementById("id")childNodes[n]这个函数,n应该是0-最终你想要的li的长度-1,这样子吧

<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>

使用jquery的选择器获取ul里的所有li元素,然后用jquery提供的css(name, value)方法修改所有li的css属性,即background-color

如果ul的id的变量名为ulid

$("li","#" + ulid)css("background-color","#ccc");

这个用到了jquery的选择器规则$(selector1, content)

selector1是一个选择器。content可以是一个选择器、一个jquery dom对象或者原生dom对象,上面的代码中conten是一个选择器

这个写法的意思是选择content中所有符合selector1的元素,在上面的代码里面就表示“选择id为ulid变量值的ul中所有的li元素”

css(name, value)方法是改变名称为name的css属性为value,有数值单位的可以省去单位,如padding 30px的值可以直接写css("padding", 30)

css(name)是获取名称为name值的css属性值,如css("padding")返回padding的值,不带单位,如css("padding")返回30

---- alert(documentgetElementById("list")getElementsByTagName("li")length); ---- 步骤: 1、给UL一个ID值 2、使用documentgetElementById获取到这个ID值对应的UL对象 3、再使用getElementsByTagName

以上就是关于用js只获取第一层ul中的第一层的所有li,不影响第二层中的li全部的内容,包括:用js只获取第一层ul中的第一层的所有li,不影响第二层中的li、js 如何获取 UL外面的LI的内容、javascript 获得ul下的li子元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存