【问题标题】:Remove <title> tag using javascript使用 javascript 删除 <title> 标记
【发布时间】:2017-08-04 09:16:28
【问题描述】:

有没有办法使用 javascript 删除标题标签?

我尝试过这样做

var parent = document.head;
var child = document.title;
parent.removeChild(child);

但它失败了,因为标题标签不是一个节点(控制台说)。 我需要强制 Wordpress 插件用自定义的标题标签覆盖默认标题标签。

有什么想法吗?

【问题讨论】:

  • 这个链接可能对stackoverflow.com/questions/2373976/…有帮助
  • 出于好奇,你为什么要这么做?
  • @MahbubulIslam 谢谢!
  • @Kaiido 我需要通过插件为 wordpress 页面添加自定义标题。 Wordpress 通过主题添加标题,我不想更改主题的代码,因为更新会回溯过程。 JS 终于不是个好主意了
  • 为什么不覆盖 document.title ?

标签: javascript wordpress


【解决方案1】:

title 属性仅包含标题的字符串表示形式。它并不代表元素本身。

您可以使用任何常用方法来获取元素本身。

document.querySelector("title");
document.getElementsByTagName("title")[0]
// etc

【讨论】:

  • 同样的错误:未捕获的类型错误:无法在“节点”上执行“removeChild”:参数 1 不是“节点”类型。
  • @Diprap — 我测试时工作正常:jsbin.com/qatuqijuva/1/edit?html,js,console,output
  • 是的,但由于某种原因,我的控制台抛出错误:O
  • @Diprap — 可能您正试图在将 title 元素添加到 DOM 之前运行 JS,但如果没有 minimal reproducible example,则无法判断。
  • 没错,我就是这么做的。谢谢你。我的例子不好,我同意。
【解决方案2】:

document.getElementsByTagName('title')[0].remove()

【讨论】:

    【解决方案3】:

    通过 JS 设置文档标题,使用:

    document.title = "your title here"
    

    请注意,您通过 JS 设置的标题将不会被 Google 和其他搜索引擎看到。

    【讨论】:

    • 是的,我需要一个对 seo 友好的解决方案,这就是我需要删除元素的原因
    • @Diprap — 使用客户端 JavaScript 删除元素比使用客户端 JavaScript 更改其值对搜索引擎更友好吗?
    • 脚本在 php 文件中运行。 php 添加了一个新标题。
    • 据我所知,无法在 php 服务器上运行 javascript!?你是怎么做到的?
    • @xander
    【解决方案4】:

    您可以使用your_element.removeAttribute('title');

    【讨论】:

      猜你喜欢
      • 2018-01-18
      • 1970-01-01
      • 1970-01-01
      • 2012-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多