【问题标题】:JavaScript get the <title> element [duplicate]JavaScript 获取 <title> 元素 [重复]
【发布时间】:2014-01-19 22:14:38
【问题描述】:

我正在编写一个脚本,该脚本将使标题标签每隔几秒钟切换一次消息。

我编写了代码,但是当我尝试运行它时,这里出现错误:

title = document.getElementByTagName("title")

我得到的错误是:TypeError: 'undefined' is not a function (evaluating 'document.getElementByTagName("title")')

script 标记位于 title 标记下方,在我的脚本标记内,我有这个以确保在运行代码之前页面已完全加载:

window.addEventListener("DOMContentLoaded", function(){
    //code

为什么我在尝试获取 title 标记时收到错误消息?

谢谢。

【问题讨论】:

  • “我为什么会出错” - 如果您遇到错误,请在询问时告诉人们该错误是什么意思
  • 您遇到的错误是什么?
  • getElementsByTagName 不是getElementByTagName
  • 认真的吗?为什么要投反对票?
  • 它是getElementsByTagName(注意s)

标签: javascript html getelementsbytagname


【解决方案1】:

getElementByTagName 不是函数(除非你写一个)。

有一个getElementsByTagName 函数(注意元素是复数),它返回一个节点列表。

尽管使用document.title(它是一个字符串)通常更简单。

【讨论】:

    【解决方案2】:

    如果您正在考虑更改标记中的文档标题, 使用:

    document.title = 'New Title';
    

    您的代码经过一些更正后可以正常工作,并且可以在更一般的情况下工作:

    document.getElementsByTagName('title')[0]='New Title';
    

    但是,它并没有像第一个解决方案那样真正改变文档标题。

    【讨论】:

      【解决方案3】:

      document.title 默认存储标题,除非您在不是来自当前页面的 HTML 上运行 JavaScript,否则通常使用它是最简单的。

      但是,您想用纯 JavaScript 编写的代码是:
      document.getElementsByTagName('title')[0].innerHTML;

      如果你已经在使用jQuery,你可以使用$(document).find('title').text();来设置你自己的变量。

      【讨论】:

        猜你喜欢
        • 2017-08-24
        • 2013-08-10
        • 1970-01-01
        • 1970-01-01
        • 2018-11-08
        • 1970-01-01
        • 1970-01-01
        • 2020-10-02
        • 1970-01-01
        相关资源
        最近更新 更多