猿问

(9-10 访问父节点parentNode)关于innerHTML的问题

<!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 a=mylist.parentNode.parentNode.parentNode.lastChild;

   document.write(a.innerHTML+"<br />");

   //document.write(a.childNodes.firstChild.innerHTML);

   </script> 


</body>

</html>

① 关于document.write(a.innerHTML+"<br />");  innerHTML显示两个标签中的内容,所以结果为什么

不是                                                         

HTML/CSS<ul>                                    

        <li>文字</li>                           

        <li>段落</li>                          

        <li>表单</li>                          

        <li>表格</li></ul>                        

而是

 HTNL/CSS

   ● 文字

   ● 段落

   ● 表单

   ● 表格


② document.write(a.childNodes.firstChild.innerHTML); 为什么不能显示第一个li的内容“文字”。

Cassie_yu
浏览 1919回答 2
2回答

夜丶灯火阑珊0

①第一个问题,innerHTML是会识别其中的标签的,并且具有标签自动补全功能,所以并不会像你说的那样②第二个问题,a指的是lesson4,那么lesson4有两个子节点,第一个子节点为空格,第二个子节点为ul标签写成document.write(a.childNodes[1].innerHTML)输出的是无序列表,要想获取第一个li中的内容,需要写成document.write(a.childNodes[1].childNodes[1].innerHTML)  这样会输出第一个li中的内容,即  “文字”。

肥仔汇

① innerHTML会识别标签,改成innerText即可② a指向<li id="lesson4"></li>没有错但是.a.childNodes有二a.childNodes[0]                                指向 HTNL/CSSa.childNodes[1]                                才是指向<ul>的a.childNodes[1].childNodes[1]        才是指向<li>文字</li>a.childNodes[1].childNodes[0]        指向的是<ul>和<li>间的空格PS:想要a.childNodes[1].childNodes[0]指向<li>文字</li>也行<ul>后面紧接<li即可>   <li id="lesson4">HTML/CSS<ul><li>文字</li>然而这样子看上去并不好看 : - ) 
随时随地看视频慕课网APP
我要回答