Javascript 如何使用jQuery在IE中附加样式表?
大家好, 我只是想创建一个插件,我需要它对用户友好,所以我想在加载插件时在用户页面的Javascript 如何使用jQuery在IE中附加样式表?,javascript,jquery,html,css,internet-explorer,Javascript,Jquery,Html,Css,Internet Explorer,大家好, 我只是想创建一个插件,我需要它对用户友好,所以我想在加载插件时在用户页面的头部部分添加标签。它适用于所有其他浏览器(不确定IE9、IE7和IE6),但不适用于IE8! 我不知道我的插件出了什么问题,所以我只是创建了一个示例页面,并面临着类似的问题!这是我的测试页面HTML+jQuery代码------ 有谁能告诉我哪里出了问题,或者这是我一生的问题吗 提前感谢 在看到第一条注释并转到提供的链接后,我刚刚创建了这个示例代码,并发现了一些惊人的东西!看到这个了吗~~~ <html&
头部部分添加
标签。它适用于所有其他浏览器(不确定IE9、IE7和IE6),但不适用于IE8!
我不知道我的插件出了什么问题,所以我只是创建了一个示例页面,并面临着类似的问题!这是我的测试页面HTML+jQuery代码------
有谁能告诉我哪里出了问题,或者这是我一生的问题吗
提前感谢
在看到第一条注释并转到提供的链接后,我刚刚创建了这个示例代码,并发现了一些惊人的东西!看到这个了吗~~~
<html>
<head>
<script src="../jquery-1.6.min.js"></script>
<script>
$(document).ready(function () {
if (document.getElementsByTagName('head')[0] === document.head) {
$("head").append('<link rel="stylesheet" type="text/css" href="style.css" />');
}else {
alert('This doesn\'t supports head appending!');
}
});
</script>
</head>
<body>
<h1>Text!</h1>
</body>
</html>
我不知道我的浏览器出了什么问题,还是这是IE8的错
您正在使用document.head
访问headdocument.head作为HTML5的一部分,只是DOM的最新添加。因此,它并没有得到普遍支持
如果您想使用它,在调用它之前,您应该:
document.head = document.head || document.getElementsByTagName('head')[0];
否则,您可以直接附加到
标记(这是推荐的,因为这是使用jQuery语法糖的一半意义):
if(document.createStyleSheet)
{
document.createStyleSheet(“style.css”);
}
其他的
{
$(“总目”)
.附加(“”);
}
我知道,但它不起作用,请参阅我对问题的最新编辑。IE8不支持在head
部分中添加标签!?。。。您的警报只是证明document.head不受支持,正如我所说,这并不是说您不能通过JavaScript附加到head。如果你加垫片,它应该能工作<代码>文档。getElementsByTagName('head')[0]
具有通用支持。那么如何在其上附加链接
标记?杰克·比利:如果你对香草JavaScript还满意的话,我有一段代码片段。但是我想你知道如何使用js。请提供所有你能回答我的问题的信息~~谢谢你,伙计,你摇滚乐~这适用于世界上的每一个浏览器!再次感谢!当试图在IE<9中添加包含链接标记的HTML时,这似乎应该是jquery的一部分。我同意,这应该是jquery的一部分。我被IE9中的IE8兼容模式允许你在头部插入链接,但真正的IE8却没有。“兼容性”到此为止!我同意,这应该在jquery.Dupe中:
<html>
<head>
<script src="../jquery-1.6.min.js"></script>
<script>
$(document).ready(function () {
if (document.getElementsByTagName('head')[0] === document.head) {
$("head").append('<link rel="stylesheet" type="text/css" href="style.css" />');
}else {
alert('This doesn\'t supports head appending!');
}
});
</script>
</head>
<body>
<h1>Text!</h1>
</body>
</html>
This doesn't supports head appending!
document.head = document.head || document.getElementsByTagName('head')[0];
$("head").append(...);
if (document.createStyleSheet)
{
document.createStyleSheet("style.css");
}
else
{
$("head")
.append('<link rel="stylesheet" type="text/css" href="style.css" />');
}