Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery在IE中附加样式表?_Javascript_Jquery_Html_Css_Internet Explorer - Fatal编程技术网

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
访问head
document.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" />'); 
}