我可以在更改页面时更改脚本中的类名

时间:2011-07-24 00:46:15

标签: javascript html css cookies

总而言之,我有一个问题。我编写了一个非常广泛的脚本来将我的身体背景从特定于页面的背景图像更改为其他背景图像。对于参考:
我的'mypage.html'在默认样式表中定义了默认的class ='image1'背景。
我写了一个脚本将其更改为class ='image10'或class ='image11',它们在持久性样式表中定义。 (相信我,这是简短的版本,但是这部分有效......好吧,这里没有问题。)我的'otherpage.html'有一个默认背景class ='image2'在默认样式表,我希望能够将此更改为持久性样式表中的“image10”和“image11”。
两种默认背景在替换样式表中有多个不同颜色的版本...将样式表和class ='image1'链接更改为另一个版本的图像。
所有这些都是由特定于页面的cookie指示的好。这使得找到解决方案非常重要,否则我将不得不为每个页面设置cookie。我发现这是不可接受的。
我的问题是,我是否必须将整个脚本复制/删过到'otherpage.html'并将'image1'更改为'Image2'或者是否有javascript的方式如下:

if(HTML = 'otherpage.html') {
   (".image1" = ".image2")
}

请原谅我非常有趣的剧本。我已经看了一遍,但我甚至不知道如何搜索这个...希望有人可以提供帮助,否则复制/过去就是;)

2 个答案:

答案 0 :(得分:1)

你可以在这里使用这个小脚本

var currentPage =  window.location.pathname;

if (currentPage == "/somepage.html") {
   // change the body class name
   document.getElementsByTagName("body")[0].className = "image2";
}

如果要测试多个页面,可以使用switch语句。

答案 1 :(得分:0)

您可以通过基类控制样式(背景和其他样式),您可以将其设置为文档的正文标记或任何根容器。在页面加载时检查页面名称并相应地设置类名称。

if(page == "otherPage"){
  document.body.className = "image2";
}

现在将应用属于image2的所有类。