求解答啊~新手

isurgit 2012-07-26 04:46:46

<div id="a" class="">
<ul id="" class="">
<li><a href="" title=""></a>
<ul id="" class="">
<li><a href="" title=""></a></li>
<li><a href="" title=""></a></li>
<li><a href="" title=""></a></li>
<li><a href="" title=""></a></li>
</ul><!-- / -->
</li>
<li><a href="" title=""></a>
<ul id="" class="">
<li><a href="" title=""></a></li>
<li><a href="" title=""></a></li>
<li><a href="" title=""></a></li>
</ul><!-- / -->
</li>
</ul><!-- / -->
</div><!-- / -->

<script type="text/javascript">
function w(){

var c = document.getElementById('a').getElementsByTagName('ul')[0].getElementsByTagName('li')
alert(c.length)

}
</script>
<button type="button" onclick="w();">按钮</button>



怎么只获得子集,不获得孙子集呢。我只想得到 #a ul li 而不想得到#a ul li ul li~~~怎么弄的。
...全文
144 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2012-07-27
  • 打赏
  • 举报
回复
只能用childNodes遍历,getElementsByTagName会将对象下的所有tag一起获取
hch126163 2012-07-27
  • 打赏
  • 举报
回复
可以考虑不用UL 里嵌套

也可以在当前的集合中区判断

也可以用 childNodes (需要判断tagName)
isurgit 2012-07-26
  • 打赏
  • 举报
回复
获得节点,不是内容
静缘 2012-07-26
  • 打赏
  • 举报
回复
var c = document.getElementById('a').getElementsByTagName('ul')[0].childNodes;
for(var i =0; i<c.length; i++){
alert(c[i].outerHTML);
}
isurgit 2012-07-26
  • 打赏
  • 举报
回复
正在学习js的,jq我知道方法的,我就是想知道js的方法的。。
静缘 2012-07-26
  • 打赏
  • 举报
回复
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>

$("#a > ul > li").each(function(i){
alert($(this).html());
});
it491328322 2012-07-26
  • 打赏
  • 举报
回复
这么纠结的问题,交给jquery好了。。。
$("#a li")
几个字符就能搞定了。。。
chenyang37 2012-07-26
  • 打赏
  • 举报
回复
可以用childNode属性

<div id="a" class="">
<ul id="" class="">
<li><a href="" title=""></a>
<ul id="" class="">
<li><a href="" title=""></a></li>
<li><a href="" title=""></a></li>
<li><a href="" title=""></a></li>
<li><a href="" title=""></a></li>
</ul><!-- / -->
</li>
<li><a href="" title=""></a>
<ul id="" class="">
<li><a href="" title=""></a></li>
<li><a href="" title=""></a></li>
<li><a href="" title=""></a></li>
</ul><!-- / -->
</li>
</ul><!-- / -->
</div><!-- / -->

<script type="text/javascript">
function w(){

var c = document.getElementById('a').getElementsByTagName('ul')[0].childNodes;
var a = [];
for(var i=0,len=c.length;i<len;i++){
if(c[i].nodeType == 1){
a.push(c[i]);
}
}
alert(a.length)
}
</script>
<button type="button" onclick="w();">按钮</button>
isurgit 2012-07-26
  • 打赏
  • 举报
回复
啥意思?
86y 2012-07-26
  • 打赏
  • 举报
回复
只能用其它标签来替换了!

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧