javascript - 在 IE 7 的对象和特定子项的 CSS 中更改颜色

标签 javascript html css internet-explorer

这是我当前(大致)在代码中的设置:

<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/

相关文章:

javascript - 根据父组件的状态改变子组件,无需重新渲染

javascript - 使用 ui-router 实现动态 URL 路由的最佳方法是什么

javascript - 为什么canvas的drawImage缩放比例不一致?

html - 表格内的 Markdown 列表

CSS3 - 验证器 - RGBA 错误?

javascript - Controller 、指令和服务之间的 Angularjs 数据绑定(bind)

html - CSS光标背景颜色?

javascript - 如何拥有动态内容的静态标题?

CSS类修改id?

javascript - 使用 css-classes 中的样式将富文本复制到剪贴板