javascript函数反转文本颜色

javascript函数反转文本颜色,javascript,html,css,Javascript,Html,Css,我有以下javascript函数,可以简单地更改网页的背景主题: <script type="text/javascript"> var i=1; function colorTheme(){ if(i%2==0){ document.body.style.backgroundColor="white"; } else{ document.body.style.backgr

我有以下javascript函数,可以简单地更改网页的背景主题:

<script type="text/javascript">
    var i=1;
    function colorTheme(){
        if(i%2==0){
            document.body.style.backgroundColor="white";
        }
        else{
            document.body.style.backgroundColor="#313030";
            document.body.style.color= white;
        }
        i++;
    }
</script>
<br>
<button onclick="colorTheme()">Click me</button>

var i=1;
函数colorTheme(){
如果(i%2==0){
document.body.style.backgroundColor=“白色”;
}
否则{
document.body.style.backgroundColor=“#313030”;
document.body.style.color=白色;
}
i++;
}

点击我

当我将页面的背景主题更改为黑色时,我希望反转文本颜色,以便整个页面仍然可读。我在网上读到,
document.body.style.color=“无论你想要什么颜色”
应该可以改变整个网页的文本颜色,但由于某种原因,这不起作用。这行代码没有将我整个网页的文本颜色更改为白色,这有什么原因吗?

您需要引用颜色字符串,即
白色

document.body.style.color= 'white'; //Quotes around the color


此外,在为
div
p
元素指定颜色的情况下,由于特殊性和覆盖继承的
color

(此处
p
不尊重白色,因为
red
是使用CSS为
p
元素设置的,因此不会继承
body
元素的颜色)

最好交换样式表,而不是将
color
指定给
body
标记,如果
color
也应用于其他元素,则该标记将不起作用


正如您所评论的,您不确定样式表的交换意味着什么,因此您需要为
标记分配一个
id
,比如

HTML

<link id="swapper" rel="stylesheet" type="text/css" href="default.css" />
<button onClick="swapper('default.css')">Default</button>
<button onClick="swapper('stylesheet2.css')">Stylesheet 2</button>
现在调用函数onClick来交换样式表

HTML

<link id="swapper" rel="stylesheet" type="text/css" href="default.css" />
<button onClick="swapper('default.css')">Default</button>
<button onClick="swapper('stylesheet2.css')">Stylesheet 2</button>
默认值
样式表2

请参阅。他已经这样做了。当然,不能使用文本字符串来表示颜色,必须使用十六进制代码。

我以前试过,无论是否使用引号,它都不起作用!!我完全不认为我为div等元素指定的场景会覆盖。我的整个CSS都被覆盖了。。另外,交换样式表到底是什么意思?大约一周前,我把网络编程作为一种业余爱好和学习go@Valrok编辑我的答案:)我不知道你能做到,我一定要测试一下,你给了我很多新想法@Valrok如果你对HTML做任何事情,都无所谓,在这个解决方案中,你只需使用JavaScript交换整个样式表,因此请确保制作两个副本,并更改其他样式表中所需的属性,例如不同的颜色、背景等。。。