我尝试将类添加到使用JavaScript在怪异模式互联网浏览器8 TD-元件。这似乎工作,因为我可以看到添加类,当我查看源代码,但我的CSS好好尝试一下影响它所以没有什么视觉上的所有变化。 我简单地添加一个HTML类来改变背景颜色,但没有任何反应。 在IE的正常模式下运行时,它的工作原理,但因为我不能改变的部位,这不是一个选项,它的怪癖模式下运行。

修改

下面是一个简单的示例:

<html>
<head>
<style>
    .style1 { background-color: #ff0000; }
    .style2 { background-color: #00ff00; }
</style>
</head>
<body>
<table id="table1">
    <tr>
        <td>some text</td>
        <td>goes on</td>
        <td>and on</td>
    </tr>
</table>
<script type="text/javascript">
    var tableElement = document.getElementById("table1");
    tableElement.setAttribute("class", "style1");
</script>
</body>
</html>

请注意,它不会在怪异模式工作虽然类获取添加(可以与IE开发工具查看)(与IE 8测试)

有帮助吗?

解决方案

Internet Explorer 7和下部(和模拟7时8)具有完全破裂的setAttribute实施(和的getAttribute)。的

有效它的工作原理是这样的:

HTMLElement.prototype.setAttribute = function (property, value) {
    this[property] = value;
}

此休息时属性名和属性名是不一样的(例如,当属性名称是一个保留字(如类),或用于其他的东西(般的风格))。

使用foo.className = 'bar'代替foo.setAttribute('class','bar')

其他提示

我想出了建立基于要添加的元素无论风格样式,然后将其添加到HTML的系统。它似乎工作就只是我试过,包括IE浏览器的各种口味的所有浏览器。这是行不通的带班,但可以轻松实现你的描述上面的东西。

文章: http://www.4pmp.com / 2009/11 /动态CSS-伪类的样式与 - 的jquery /

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top