我需要一个等效于以下代码的 Javascript。我正在将 php 网站转换为 django 网站,在静态页面上我有以下内容:
<li<?if($page == "home") {?> class="active"<?}?>><a href="/home" title="Home">Home</a></li>
问题是我想在这里删除 php 并使用 javascript 在该页面上使用 class="active"
我需要一个等效于以下代码的 Javascript。我正在将 php 网站转换为 django 网站,在静态页面上我有以下内容:
<li<?if($page == "home") {?> class="active"<?}?>><a href="/home" title="Home">Home</a></li>
问题是我想在这里删除 php 并使用 javascript 在该页面上使用 class="active"
你不需要javascript。您可以动态地将一个类添加到 body 标记中,如下所示:
<body class="blog">
...并为每个链接添加一个类,如下所示:
<a class="home" href="" >...</a>
<a class="blog" href="" >...</a>
<a class="about" href="" >...</a>
...然后将此规则添加到您的CSS:
body.blog a.blog, body.home a.home, body.about a.about
{
// Do stuff that you only want applied to the "active" page link
}
基本思想是,这仅将您的“活动”样式应用于页面上的元素,并且正文标签类与您想要样式化的元素类之间的正确匹配
在 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)...
如果你真的需要这样做,你可以.addClass()
在 jquery http://api.jquery.com/addClass/中使用
没有等效的 CSS。CSS 还不是那么聪明(还)。你可以用 JavaScript 做一些事情,但如果你已经可以用服务器端语言来做,那将是愚蠢的。
注意原始标题要求使用 CSS,而不是 JavaScript。它已被编辑。
CSS
是一种用于样式化 HTML 元素的语言。
PHP
是一种服务器端脚本语言。
这有很大的不同。你不能做CSS
可以做的事情PHP
,反之亦然。想象一个艺术家和一个工程师。
JavaScript
是你最接近的方式。它是一种客户端脚本语言。并在 jQuery 中做你想做的事:
$('li').addClass('active');
但是,当然,您需要发布更多代码。