根据使用对象的文件向对象添加类

时间:2019-10-19 00:52:52

标签: javascript php html

我正在尝试将一个类添加到导航栏中,具体取决于所使用的文件。导航位于header.php上,并且已包含在page2.php或page3.php中,但它需要的颜色与其他页面不同。我仍然是业余爱好者,所以我尝试使用此javascript:

let url = window.location.pathname;
    let filename = url.substring(url.lastIndexOf('/')+1);
    let nav = $('.js--main-nav');
    if(filename == 'page2.php'|| filename == 'page3.php') {
        nav.addClass('black-nav');
    }

我想在导航上添加black-nav类,当它在page2或page3上使用时也具有js--main-nav类,但是在其他页面上不要添加它。

感谢所有帮助!

2 个答案:

答案 0 :(得分:2)

你好,我通过在对象的类内添加一个php语句来解决它:

<?php $pagename = basename(__FILE__, '.php'); ?>
...
...
<ul class="main-nav <?php if($pagename == 'page2' || $pagename == 'page3') { echo 'black-nav';} else { echo '';} ?> js--main-nav">

我没有用javascript解决它,但似乎可以解决问题!

答案 1 :(得分:0)

您尝试过限制班级吗?

var url = window.location.pathname;
var filename = url.substring(url.lastIndexOf('/')+1);
var nav = $('.js--main-nav');
if(filename == 'page2.php'|| filename == 'page3.php') {
console.log('IF condition is fulfilled')
    nav.addClass('js--main-nav black-nav'); //here is the change
} else {
console.log('IF condition is not fulfilled')
}