jquery – 使用文本方法添加CSS规则到样式元素在IE中不起作用

前端之家收集整理的这篇文章主要介绍了jquery – 使用文本方法添加CSS规则到样式元素在IE中不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
它在Firefox和Chrome中正常工作,但在IE8中不起作用。这是html结构:
<!DOCTYPE html>
<html>
 <head>
  <Meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
  <script type="text/javascript">
   $(function() {
    // this does not work in IE
    $('<style type="text/css"></style>').text('body {margin: 0;}').appendTo('head');
   });
  </script>
 </head>
 <body>
 </body>
</html>

在IE中可以做什么?

解决方法

这在IE7中为我工作:
$('<style type="text/css">body {margin: 0;}</style>').appendTo($('head'));

另一种可能更容易阅读的语法:

$('head').append('<style type="text/css">body {margin:0;}</style>');

但是,调用.text(val)或.html(val)来设置样式标签内容将导致抛出异常,因为它们设置了只读的innerHTML DOM属性

这是innerHTML属性IE’s documentation

The property is read/write for all objects except the following,for which it is read-only: COL,COLGROUP,FRAMESET,HEAD,HTML,STYLE,TABLE,TBODY,TFOOT,THEAD,TITLE,TR.

猜你在找的jQuery相关文章