我正在编写一个脚本,它会使标题标记每隔几秒切换一次消息。
我编写了代码但是当我尝试运行它时,我在这里遇到了错误:
title = document.getElementByTagName("title")
我得到的错误是:TypeError: 'undefined' is not a function (evaluating 'document.getElementByTagName("title")')
。
script
标记位于title
标记下方,在我的脚本标记内,我这样做是为了确保在代码运行之前页面已完全加载:
window.addEventListener("DOMContentLoaded", function(){
//code
为什么我在尝试获取title
代码时出错?
谢谢。
答案 0 :(得分:8)
getElementByTagName
不是函数(除非你写一个函数)。
有一个getElementsByTagName
函数(注意元素是复数),它返回一个节点列表。
通常使用document.title
(这是一个字符串)通常更简单。
答案 1 :(得分:1)
如果您正在考虑更改标记中的文档标题, 使用方法:
document.title = 'New Title';
您的代码可以进行一些修正,并且它适用于更一般的情况:
document.getElementsByTagName('title')[0]='New Title';
然而,它并没有真正改变文档标题,就像第一个解决方案一样。
答案 2 :(得分:1)
document.title
存储标题,除非您在非当前页面的HTML上运行JavaScript,否则通常最简单的方法就是使用它。
但是,您想用简单的JavaScript编写的代码是:
document.getElementsByTagName('title')[0].innerHTML;
如果您已经在使用jQuery,则可以使用$(document).find('title').text();
设置自己的变量。