1

我正在使用 javascript 向网页添加内容。问题是 IE (7) 中的 CSS 似乎不适用于动态添加的内容。

这是一个示例文档..

<html>
<head>
    <style type="text/css">
    p.foo { color: #FF4400 ; background-color: #000000 }
    p.bar { color: #FF0000 ; background-color: #000000 }
    </style>
    <script type="text/javascript">
        function add() {
            var node = document.createElement("p");
            node.setAttribute("class", "bar");
            node.appendChild(document.createTextNode("New Content"));
            document.body.appendChild(node);
        };
    </script>
</head>
<body onload="add()">
        <p class="bar">bar</p>
        <p class="foo">foo</p>
</body>
</html>

在 FF 中,新添加的“新内容”段落应用了样式,但在 IE 中,它没有。这似乎很明显,应该很容易搜索,但一些明显的查询没有给我任何帮助。

那么诀窍是什么?

4

1 回答 1

9

为什么不使用已经解决所有这些问题的框架,例如jQueryMooToolsextJsDojoPrototype等?

但是,如果您坚持自己做,请尝试使用:

    function add() {
        var node = document.createElement("p");
        node.className = 'bar'; // <- use in leu of setAttribute()
        node.appendChild(document.createTextNode("New Content"));
        document.body.appendChild(node);
    };
于 2009-03-09T01:08:31.793 回答