通过Javascript或php更改CSS类

时间:2014-10-07 11:41:19

标签: javascript css

我想更改特定页面上的css类属性,但我无法使其工作

我的代码就是这个。

if ( is_page(877) ) { 
    //change CSS Class

} else if ( is_page(970) ) {
    //change CSS Class
} else {
    // Same CSS
}

我已尝试过所有这些内容,但没有任何内容。

document.getElementById('header-aside').className = 'header-two-aside2';

document.getElementById('header-aside').classList.add('header-two-aside2');

$('#header-aside').removeClass('header-two-aside');

$('#header-aside').addClass('header-two-aside');

我该怎么办?

1 个答案:

答案 0 :(得分:1)

你在做什么似乎是正确的。您需要确保您的is_page函数执行正确的操作,并且只有在文档对象准备好后才运行css类操作。 你没有把这篇文章标记为jquery帖子,但由于你在你的例子中使用jquery,我也会使用jquery。

现场演示:
http://fiddle.jshell.net/ne842udn/

使用

$(document).ready(function(){}); 

确保您的文档可以随时操作。

并在某处有一些标识符告诉你的脚本你在哪个页面(我在我的例子中使用隐藏字段),如:

<input type="hidden" name="pageId" value="970" />

和页面标识符如:

function is_page(num){
    return $('input[name="pageId"][value="' + num + '"]').length > 0;
}

解决您的问题?解决你所读到的所有你要问的事情;)
尝试将小提琴的HTML部分顶部的输入字段的值更改为您为其设置样式的其他内容(如877),然后点击页面左上角的运行并观看div更改的背景颜色。

你可以让你的服务器端PHP代码直接设置该类,对于禁用了javascript的用户(或者如果你不关心这些用户,请考虑真正需要的内容)运行客户端和服务器端..客户端脚本应该添加交互或其他东西,而不仅仅是帮助懒惰的程序员风格是页面)