添加类在怪异模式的元件
-
24-09-2019 - |
题
我尝试将类添加到使用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浏览器的各种口味的所有浏览器。这是行不通的带班,但可以轻松实现你的描述上面的东西。
不隶属于 StackOverflow