我需要动态地改变css,我正在通过查看
来做到这一点<div id="page_title">Homepage</div> -> this element
如果标题是主页,我正在检查其innerHTML,如果页面名称是关于将css更改为此等等,则更改样式。
现在这适用于ff而不是IE7,这是什么工作?
我在谷歌上发现了一些链接,但没有100%的工作和准确。我可以就如何做到这一点获得一些建议吗?
答案 0 :(得分:1)
var page_title=document.getElementById("page_title");
if(/homepage/i.test(page_title.innerHTML))
page_title.className="thisone";
else if(/about/i.test(page_title.innerHTML))
page_title.className="thatone";
如果您的代码看起来像那样,如果它不起作用,问题可能出在CSS本身。
答案 1 :(得分:0)
以下代码适用于我的IE7,如果DIV的内容为主页,则正文背景变为蓝色。绿色的除了:
<html>
<head>
<title></title>
</head>
<body>
<div id="page_title">Homepage</div>
<script>
if (document.getElementById('page_title').innerHTML === 'Homepage') {
document.body.style.background = '#DEF';//blue
} else {
document.body.style.background = '#DFE';//green
}
</script>
</body>
</html>
可以在这里举一个你的非工作代码的例子。
答案 2 :(得分:0)
也许你的div中有空格或不可见的字符,导致比较失败。
您可以尝试使用this one这样的函数修剪innerHTML并比较结果吗?
答案 3 :(得分:0)
感谢您的回答我通过使用而不是div,h1元素来解决问题,我没有使用innerHTML而是使用title来获取它的值。谢谢