<ol class="myclass cls">
<li class="mylicls">
</li>
</ol>
在我的CSS中已经定义了myclass,cls,mylicls
我想将上面的div输出到
<ol class="myclass cls" style="behavior:url(/path/something.htc)">
<li class="mylicls">
</li>
</ol>
这是我的javascript
document.getElementsByTagName(ol).style.behavior="url(/path/something.htc)";
Firefox中的:未定义style.behavior
在IE中:对象为空或未定义
答案 0 :(得分:4)
document.getElementsByTagName(ol)
返回null。
你可能意味着document.getElementsByTagName("ol")
。
但是即便如此,你有一个节点列表,而不是单个节点,你必须将样式应用于每个节点。
var ols = document.getElementsByTagName("ol");
for (var i = 0; i < ols.length; i++) {
var el = ols[i];
el.style.behavior = "url(/path/something.htc)";
};
而且即便如此 behaviour
也是非标准的,据我所知,只能在IE中使用。
答案 1 :(得分:1)
getElementsByTagName
不会返回单个元素,而是返回元素列表 - 但只有在找到某些内容时才会返回。因此,您需要添加[0]
和,确保您实际上找到至少一个元素。由于您希望<ol>
标记将字符串'ol'
传递给该函数(您忘记了引号)。
除此之外,behavior
仅存在于IE中。因此,无论如何在任何其他浏览器中使用它都会失败。显然这意味着你根本不应该使用它,除非你需要填充IE缺少的功能,但其他浏览器已经有了。