为了账号安全,请及时绑定邮箱和手机立即绑定

获取属性节点问题

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
</head>
<body>
<ul id="con">
<li id="lesson1">javascript
  <ul>
      <li id="tcon"> 基础语法</li>
      <li>流程控制语句</li>
      <li>函数</li>
      <li>事件</li>
      <li>DOM</li>
  </ul>
</li>
<li id="lesson2">das</li>
<li id="lesson3">dadf</li>
<li id="lesson4">HTML/CSS
  <ul>
    <li>文字</li>
    <li>段落</li>
    <li>表单</li>
    <li>表格</li>  
  </ul>
</li></ul>  
<script  type="text/javascript">    
   var mylist = document.getElementById("tcon");
   document.write(mylist.parentNode.parentNode.parentNode.lastChild.innerHTML);
   var childs = mylist.parentNode.parentNode.parentNode.childNodes;
   document.write(childs[childs.length-7].innerHTML);
   for(var i=0;i<childs.length;i++){

       document.write(childs[1].getAttribute("id"));//为啥这样就有输出

       if(childs[i].getAttribute("id")=="lesson4"){//这样程序就不走了
           document.write(childs[i].innerHTML);
       }

   }

</script>

</body>
</html>

正在回答

2 回答

因为childs[i].getAttribute("id")当i=0时,childs[0]是#text没有id这个属性,所有就不继续运行了

1 回复 有任何疑惑可以回复我~
#1

qq_丨银丨_0 提问者

那如果我想做一个类似的功能,if里面应该怎么写
2016-08-25 回复 有任何疑惑可以回复我~
for(var i=0;i<childs.length;i++){
       if (childs[i].nodeType == 1) {//过滤掉#text
           if (childs[i].getAttribute("id") == "lesson4") {//这样程序就不走了
               document.write(childs[i].innerHTML);
           }
       }
   }


1 回复 有任何疑惑可以回复我~
#1

qq_丨银丨_0 提问者

谢谢,解决了我的疑惑
2016-08-25 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

获取属性节点问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信