这是我当前(大致)在代码中的设置:
<style>
#B {background-color:#F00;color:#00F}
#B H3{background-color:#FF0;color:#000}
</style>
<div ID="B">
<h3>subtitle</h3>
<p>text</p>
</div>
这基本上将框的颜色设置为蓝色,背景为红色。然后标题的颜色为黄色,背景颜色为黑色。
如果我想在没有静态 CSS 的情况下设置外框的颜色,我可以很容易地做到这一点:
<div ID="B">
<h3>subtitle</h3>
<p>text</p>
</div>
<script>
var x=document.getElementById('B').style;
x.color='#F00';
x.backgroundColor='#00F';
</script>
有没有一种方法可以直接访问适用于 Internet Explorer 7 的 Javascript 中的 H3,而无需为其分配 ID 值?
我正在寻找需要更少字节的代码,以及能够尽快将文本显示到屏幕上的代码。
本站:http://quirksmode.org/dom/core/声明 childnodes[]
、firstChild
和许多直接处理对象子对象的其他函数与 IE 7 不兼容,除非手册是在撒谎。
任何人有任何想法,或者我会被困在为每个元素应用 ID 标签吗?
最佳答案
当然,getElementsByTagName
从IE5.5开始支持
<div ID="B">
<h3>subtitle</h3>
<p>text</p>
</div>
<script>
var x = document.getElementsByTagName('a')[0];
if (x and x.style) {
x.style.color='#F00';
}
</script>
它确实返回了一个 nodeList(来自 IE6),所以你必须使用括号表示法,并且 [0]
会得到第一个 <h3>
页面上的元素。
关于javascript - 在 IE 7 的对象和特定子项的 CSS 中更改颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34245298/