innerhtml IE不是附加内容而是阅读

时间:2010-01-04 11:42:20

标签: javascript

我需要动态地改变css,我正在通过查看

来做到这一点
<div id="page_title">Homepage</div> -> this element

如果标题是主页,我正在检查其innerHTML,如果页面名称是关于将css更改为此等等,则更改样式。

现在这适用于ff而不是IE7,这是什么工作?
我在谷歌上发现了一些链接,但没有100%的工作和准确。我可以就如何做到这一点获得一些建议吗?

4 个答案:

答案 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来获取它的值。谢谢