先按照你的这个方法获取。然后可以通过判断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对象等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)