-1

我一直在使用 Javascript 来修改我的页面http://www.gfcf14greendream.com/的背景和主题,以便它在每个季节显示不同的背景,这很有效。现在因为之前一切都是绿色的(我真是个怪胎),我一直在尝试根据背景将 div 标签的字体颜色更改为可读的颜色(现在我在夏季背景上使用紫色,rgb(128, 0, 128)但是如果有人认为有更好的颜色,请告诉我),并且使用以下代码行:

var divs = window.parent.document.getElementsByTagName('div');
for (var i = 0; i < divs.length; i++) {
    divs[i].style.color = "rgb(128, 0, 128)";
}

它确实有效,对于我更改的这些页面(由于我仍在测试,我没有全部更改)http://www.gfcf14greendream.com/smssender.htmlhttp://www.gfcf14greendream.com/employmentassistant。 .html _ 但是,虽然它似乎适用于此页面http://www.gfcf14greendream.com/programs.html,但表内的 div 不受影响(例如这个 div :)

<td align="center">
    <div style="text-align: center; color:#00FF00; font-size: 15px">
        <font color="#00FF00">December 16th, 2012</font>
    </div>
</td>

那么为什么<table>标签内的 div 不被识别呢?我是否应该认为表格已经过时(有人告诉我它们是邪恶的)并尝试使用 CSS 格式化一个带有 div 的表格?

4

4 回答 4

2

<font>目前,由于标签,这不起作用。div 样式受到影响,但是其中的字体标签不允许您查看更改。删除字体标签,你应该会看到一些东西。

话虽如此,您根本不应该使用该<font>标签。W3告诉我们 HTML5 将其归类为不符合标准的功能,并且“……真的,不要使用它。”

于 2013-06-27T03:37:45.600 回答
1

那是因为这些 div 具有“样式”属性,并且它们覆盖了您使用 JS 分配的属性。但是,正如@bfavaretto 所说,最好使用 CSS 而不是这种魔法:)

更新。我一点都不正确,问题是字体标签具有“样式”属性,而这些覆盖属性是您分配给它们的父级 div的。

于 2013-06-27T03:31:02.143 回答
1

正如 Jan Dvorak 所指出的,你真的应该避免使用字体标签。但即使有了它们,也可以只用 CSS 来解决:

div, div font {
    color: rgb(128, 0, 128) !important;
}

我还会在正文中添加一个季节类(如 中<body class="summer">),这样我就可以根据季节创建多种样式:

.summer div, .summer div font { color: rgb(128, 0, 128) !important; }
.winter div, .winter div font { color: rgb(0, 0, 255) !important; }
于 2013-06-27T03:37:32.563 回答
0

div的颜色被修改了,但文字没有,这是因为你的文字实际上是在“字体”标签

我看到你的页面引用了 jquery,尝试使用这个:

$('div,div>font').css('color','rgb(128,0,128)')
于 2013-06-27T03:38:50.417 回答