Javascript相当于PHP代码

Javascript相当于PHP代码,php,javascript,Php,Javascript,我需要一个Javascript等价于以下代码。我正在将php网站转换为django网站,在静态页面上我有以下内容: <li<?if($page == "home") {?> class="active"<?}?>><a href="/home" title="Home">Home</a></li> > 问题是我想在这里删除php,并在使用javascript的页面上使用class=“active”,因为没有CSS等价物。

我需要一个Javascript等价于以下代码。我正在将php网站转换为django网站,在静态页面上我有以下内容:

<li<?if($page == "home") {?> class="active"<?}?>><a href="/home" title="Home">Home</a></li>
>

问题是我想在这里删除php,并在使用javascript的页面上使用class=“active”,因为没有CSS等价物。CSS还没有那么聪明。你可以用JavaScript做一些事情,但如果你已经可以用服务器端语言来做,那就太傻了


注意原始标题要求使用CSS,而不是JavaScript。它已被编辑。

CSS
是一种用于设置HTML元素样式的语言

PHP
是一种服务器端脚本语言

这有很大的不同。你不能做
CSS
PHP
中可以做的事情,反之亦然。想象一下一个艺术家和一个工程师

JavaScript
是最接近您的方式。它是一种客户端脚本语言。要做您想做的事情,在jQuery中:

$('li').addClass('active');

当然,你需要发布更多的代码。

如果你真的需要这样做,你可以在jquery中使用
.addClass()
,你不需要javascript。可以将类动态添加到body标记,如下所示:

<body class="blog">

基本思想是,这只会将您的“活动”样式应用于页面上的元素,在body tags类和您希望样式化的元素的类之间具有正确的匹配,以获得js中的当前页面

var currentpage = document.location.href
// this will return the full path e.g. http://www.home/home.html
var homepage = currentpage.search(/home.html/);

if (homepage >-1)...

这将是您正在查看的javascript。CSS用于样式设置,JS用于动态更改。但是,我会避免这种情况,因为有些浏览器禁用了JS。永远不要依赖JS实现可访问性。只用于增强功能。我祈祷&希望你永远不能用CSS实现这一点。@ColeJohnson:这肯定是一个增强功能。你是对的,但我认为对残疾JS的恐惧有时有点过分了。@WesleyMurch总是谨慎行事。是的,我知道CSS主要用于样式设计,但我很好奇CSS中是否添加了一些小方法,因为我觉得这是许多网页的一个常见部分。你如何选择正确的元素来
addClass
,或者简单地向其添加一个id,并在页面加载后将其作为目标,我认为我将只使用jquery。。。我想我会问是否有一些CSS黑客,如果他可以“添加一个id”,那么我会假设他可以添加一个类。。。我想我不明白。我想你可以搜索包含
element.href==window.location.href
@WesleyMurch的链接-这就是我的意思。这是一个主要的黑客攻击,但我想如果需要的话会有用的。请使用“答案”框来获取解决方案,而不是评论。更新,只是想在@Christopher执行更复杂的解决方案之前引起他的注意。我为这一困惑表示歉意,好吧,但以后不要使用占位符回答,比如“你不需要javascript来完成这项工作”。事实上,我会投赞成票,因为这是一种相当聪明的方法。是的,这种方法比我的好!:)+1给你。唯一的问题是它并没有JS解决方案那个么动态,但它更干净
body.blog a.blog, body.home a.home, body.about a.about
{
    // Do stuff that you only want applied to the "active" page link
}
var currentpage = document.location.href
// this will return the full path e.g. http://www.home/home.html
var homepage = currentpage.search(/home.html/);

if (homepage >-1)...