javascript - 使用innerHTML和vanilla JS检索节点的内容

标签 javascript

我正在尝试使用普通 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/

相关文章:

javascript - 面包屑的自定义 GTM 变量

c# - Microsoft JScript 运行时错误 : Object expected thrown when called from codebehind

javascript - HTML : Text width is different than summation of its character's width

javascript - 如何在N秒后隐藏div?

javascript - Vue 创建插件

javascript - IE11全屏显示白屏

javascript - 如何在图片内添加 'more info'链接并在图片大小内显示内容

javascript - 如何按两个不同的值对对象数组进行排序

javascript - 如何在 Javascript 中实现调整大小?

javascript - 如何在jquery中跟踪最后三个点击的ID?