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

nodeName/nodeValue 选取顺序问题

nodeName/nodeValue 选取顺序问题

炎炎设计 2019-01-04 21:49:50
<p>        <span>paragraph1</span>        <span>paragraph2</span>       <span><strong>paragraph3</strong></span>    </p>      <button type="button" name="button" onclick="getname()">点我</button> < script type = "text/javascript" >function getname() {     var a = document.getElementsByTagName("p")[0];     alert(a.innerHTML);     alert(a.innerText);     alert(a.firstChild.nodeName); //#text     alert(a.firstChild.nodeValue);//null     alert(a.lastChild.nodeValue);//null }查了好久没答案,特来请教Q1:.firstChild是特殊的唯一语法还是只用来选取第一个子元素?如果我要选取<p>中的<span>paragraph2</span>怎么做?Q2:查MDN,只给我一个答案:"alert(a.firstChild.nodeName)将显示 '#text',因为在<p>标签和<span>标签之前,有一个换行符和多个空格充当了一个文本节点."空格算一个节点?换行也算节点? 元素标签也算节点?文本也是节点?我有点混乱,他们是混排的?他们都算 对象元素的子节点?那么他们的排列顺序是?
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

你试着打印a.childNodes就知道节点排列顺序了。
如果只想选择第一个element元素节点,可以使用 a.firstElementChild

查看完整回答
反对 回复 2019-01-04
  • 1 回答
  • 0 关注
  • 463 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号