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

}

};

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

可以考虑用length属性, jquery代码: $(“#ulname li”)length。

1、ul 是 Unordered List(无序列表)的缩写。与之相对的有<ol>有序列表标签,列表里的项目用<li>标签记述,所有主流浏览器都支持 <ul> 标签。在 HTML 401 中,ul 元素的 "compact" 和 "type" 属性是不被赞成使用的。

2、<li> 是列表项目标签,定义列表项目。<li> 标签支持全局属性,<li> 标签支持所有 HTML 事件属性。在 HTML 401 中,li 元素的 "type" 和 "value" 属性是不被赞成使用的。在 XHTML 10 Strict DTD 中,li 元素的 "type" 和 "value" 属性是不被支持的。

3、ul和li常规方法:

li {background: url(/images/icongif) no-repeat 0px 50%; padding-left:17px;}

1、复杂方法:

ul {list-style:none;}

li{background: url(/images/icongif) no-repeat 0px 50%; padding-left:17px;}

可以解决上面的浏览器不兼容的问题。首先,清除默认的项目符号,然后加上我们自己的背景。no-repeat告诉浏览器不要平铺这张,0px 50%告诉背景应该位于距左侧0px 且竖直方向位于顶部往下50%处,实际上就是在竖直方向居中。我们在左侧加上了17px的边距,这样那些15px宽5像素高的小图标就能完全显露出来,不会被文本遮挡,并且和文本之间有一点间隔。

1、简单方法

ul{list-style-image:url(/images/icongif);}

这种方法不同的浏览器的显示效果会有一些差异,主要是在的垂直位置上。有些浏览器会使和列表项文本的中部位置平齐,有的又会显示得高一些,总之就是有些不一致。

以上就是关于用js只获取第一层ul中的第一层的所有li,不影响第二层中的li全部的内容,包括:用js只获取第一层ul中的第一层的所有li,不影响第二层中的li、javascript获取<ul>中的前几个<li>、jquery如何获取li下ul中li的个数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存