2 回答
TA贡献1条经验 获得超3个赞
①第一个问题,innerHTML是会识别其中的标签的,并且具有标签自动补全功能,所以并不会像你说的那样
②第二个问题,a指的是lesson4,那么lesson4有两个子节点,第一个子节点为空格,第二个子节点为ul标签
写成document.write(a.childNodes[1].innerHTML)输出的是无序列表,要想获取第一个li中的内容,需要写成
document.write(a.childNodes[1].childNodes[1].innerHTML) 这样会输出第一个li中的内容,即 “文字”。
TA贡献6条经验 获得超5个赞
① innerHTML会识别标签,改成innerText即可
② a指向<li id="lesson4"></li>没有错
但是.a.childNodes有二
a.childNodes[0] 指向 HTNL/CSS
a.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>
然而这样子看上去并不好看 : - )
添加回答
举报