如何通过 jquery/javascript 在 <head> 中添加任何内容?

IT技术 javascript jquery css xhtml
2021-01-19 18:44:47

我正在使用 CMS,它阻止编辑<head>元素的HTML 源代码

例如,我想在<title>标签上方添加以下内容

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
6个回答

您可以选择它并照常添加:

$('head').append('<link />');
@PankajTiwari 您不会在源代码视图中看到它,因为代码将它附加到当前文档,而不是原始源(由服务器提供)。这就是 FireBug 和 Chrome Dev 工具如此有用的原因。
2021-03-18 18:44:47
阅读文档:docs.jquery.com/Manipulation insertBeforeinsertAfter就是你想要的。
2021-03-20 18:44:47
我已经把它放在 document.ready 中,但它没有附加到我的头部内容中
2021-04-02 18:44:47
我如何控制订单,此链接将放在何处
2021-04-08 18:44:47
它正在添加链接,但链接未显示在页面的视图源中...我可以从 Firebug 等浏览器开发工具中查看它。我也可以在查看源中查看链接吗?
2021-04-09 18:44:47

JavaScript:

document.getElementsByTagName('head')[0].appendChild( ... );

像这样制作 DOM 元素:

link=document.createElement('link');
link.href='href';
link.rel='rel';

document.getElementsByTagName('head')[0].appendChild(link);
适用于脚本元素!
2021-04-01 18:44:47

jQuery

$('head').append( ... );

JavaScript:

document.getElementsByTagName('head')[0].appendChild( ... );
嗯,是。我只是离开了那部分,...因为我觉得这不是问题的核心部分,而且,在撰写本文时,还没有关于他想放在脑海中的实际例子。但是是的,它确实需要是一个 DOM 元素。
2021-03-21 18:44:47
appendChild 不需要 DOM 元素吗?IE。var elem = document.createElement() document.getElementsByTagName('head')[0].appendChild(elem);
2021-04-12 18:44:47

您可以使用innerHTML来连接额外的字段字符串;

document.head.innerHTML = document.head.innerHTML + '<link rel="stylesheet>...'

但是,您不能保证在第一次加载后浏览器会识别您添加到头部的额外内容,并且可能会在加载额外的样式表时获得 FOUC(无样式内容的闪烁)。

我已经很多年没有看过 API,但您也可以使用document.write,这是为此类操作而设计的。但是,这需要您阻止页面呈现,直到您的初始 AJAX 请求完成。

您还可以使用document.head.innerHTML += '<link rel="stylesheet>...' Just Short of your Code
2021-03-22 18:44:47

在最新的浏览器 (IE9+) 中,您还可以使用document.head

例子:

var favicon = document.createElement('link');
favicon.id = 'myFavicon';
favicon.rel = 'shortcut icon';
favicon.href = 'http://www.test.com/my-favicon.ico';

document.head.appendChild(favicon);