我正在尝试使用普通 javascript 来学习 DOM 遍历的一些关键概念,并且通常只是尝试了解一些我基本上跳过的基本概念...有一些概念我不太理解。
如果我们采用一个简单的 HTML 页面:
<html>
<head>
<title>hello</title>
</head>
</html>
按照我的想法,我应该能够使用以下命令检索字符串“hello”:
window.document.head.title.innerHTML;
但是这只是返回一个空字符串。谁能解释一下为什么吗?
最佳答案
访问页面标题的方法有多种,您可以在下面找到其中一些方法:
// search for the node
document.querySelectorAll('title')[0].innerHTML
// with html5
document.querySelector('title').innerHTML
// get by tag name
document.getElementsByTagName('title')[0].innerHTML
// or simply use this
document.title
您不能简单地编写特定标记的名称并期望获得您想要的结果。只因为恰好只有一个<title>
整个页面上的标签并不意味着这是访问任何节点的可行方式。还有一些特殊情况如document.head
, document.body
,和document.title
总是指某些元素。它们不一定按照您期望的方式遵循 DOM 结构。
关于javascript - 使用innerHTML和vanilla JS检索节点的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36154551/