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

javascriptdom问题

javascriptdom问题

慕粉3884565 2016-10-31 13:22:19
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>Node节点对象练习2</title>        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="this is my page">    <meta http-equiv="content-type" content="text/html; charset=UTF-8">  </head>  <body>              <ul>            <li id="bj" value="beijing">            北京            <p>海淀            </p>            奥运            </li>         <li id="sh" value="shanghai">上海</li>       </ul>        </body>    <script type="text/javascript">          //同时打印文本值  北京 海淀  奥运        var v=document.getElementById('bj');    var a=document.getElementsByTagName('p');    alert(v.childNodes[0].nodeValue+a[0].childNodes[0].nodeValue+v.childNodes[2].nodeValue);//获得 body 元素的子节点集合:  </script>  </html>为什么第二个[0]要加在a后面不加在childNodes后面,还有为什么要获取子元素?子元素不是子标签的元素吗这里没有
查看完整描述

3 回答

?
李晓健

TA贡献1036条经验 获得超461个赞

因为document.getElementsByTagName('p');返回的是一个数组

childNodes不一定是标签元素,纯文本也是一个文本元素

查看完整回答
反对 回复 2016-10-31
  • 慕粉3884565
    慕粉3884565
    不懂吗?可以说清楚点
  • 李晓健
    李晓健
    你可以用console.log 打印一下一个节点的childNodes,看看里面都有些什么,就明白了
  • 李晓健
    李晓健
    不是跟你说过了嘛 document.getElementsByTagName('p'); 它返回的就是一个数组,因为你是能过标签名称来获取页面元素,一个html页面是可以有很多相同的标签名,返回当然就是一个数组了,即使只有一个p标签,他也会返回一个数组。这是基本的api你可以去看一下文档。
点击展开后面1
  • 3 回答
  • 0 关注
  • 1351 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信