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

想显示表格的最后一个“表格”怎么办 代码没错啊 感觉

<!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"); 

   var my=mylist.parentNode.parentNode.parentNode.lastChild.firstChild.lastChild;

       document.write(my.innerHTML);

</script> 

</body>

</html>


正在回答

2 回答

var my=mylist.parentNode.parentNode.parentNode.lastChild.firstChild.lastChild;

       document.write(my.innerHTML);这句错误.

var my=mylist.parentNode.parentNode.parentNode.lastChild  这一步指的是lesson4,

后面应该用 childNodes[1].childNodes; 其中childNode[0]值得是HTML/CSS这段文本.

你错就错在.firstChild直到文本节点去了.

正确应该是:var me=mylist.parentNode.parentNode.parentNode.lastChild.childNodes[1].childNodes;

然后循环打印出来:

for(var i=0;i<me.length;i++){

        if(me[i].firstChild!=null){

            document.write(me[i].firstChild.nodeValue+"<br />")

        }

    }


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

Zz张浩 提问者

非常感谢!
2016-03-25 回复 有任何疑惑可以回复我~
#2

侧耳倾听10

为什么把第一个lastChild改成childNotes[3]不可以
2016-03-28 回复 有任何疑惑可以回复我~
 var my=mylist.parentNode.parentNode.parentNode.lastChild //这里你得到的是“lesson4”元素节点
.firstChild//这里你访问的是“HTML/CSS”这个文本节点
.lastChild;//这里就无效了,没有子节点了

 var my=mylist.parentNode.parentNode.parentNode.lastChild.childNodes[1]

//不是IE浏览器数字要换成2才能访问到ul节点,空格和回车符也算成是文本节点

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

想显示表格的最后一个“表格”怎么办 代码没错啊 感觉

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