Может кто-нибудь помочь мне найти в чем проблема с моим кодом? Я пытаюсь установить li
на активный, основанный на его URL-адресе. Но проблема в том, что после загрузки ничего не установлено. Дайте мне идеи о том, как это сделать или какие-либо альтернативные способы сделать это?Установить li активным на основе URL-адреса
УКАЗАНИЕ$subj_descr
было свободное пространство ex. COMPUTER PROGRAMMING 1
, ENGLISH 2
вот мой код php, где найдены li
и a
.
<li data-popover="true" rel="popover" data-placement="right"><a href="#" data-target=".premium-menu" class="nav-header collapsed" data-toggle="collapse"><i class="fa fa-fw fa-book"></i> Lectures<i class="fa fa-collapse"></i></a></li>
<li><ul id="wa" class="premium-menu nav nav-list collapse in">
<?php
$sql ="SELECT enroll_ref FROM std_enrolled WHERE stud_no = '$stud_no'";
$result = mysqli_query($con, $sql);
while($row = mysqli_fetch_array($result)){
$enroll_ref = $row['enroll_ref'];
}
$sql3 ="SELECT DISTINCT subj_descr FROM subj_enrolled WHERE enroll_ref = '$enroll_ref'";
$results = mysqli_query($con, $sql3);
while($row = mysqli_fetch_array($results)){
$subj_descr = $row['subj_descr'];
?>
<li id="<?php echo $subj_descr; ?>" ><a href="viewlecture.php?subjdescr=<?php echo $subj_descr;?>"><span class="fa fa-caret-right"></span><?php echo ucwords(strtolower($subj_descr)); ?></a></li>
<?php
}
?>
</ul></li>
вот мой JS
$(document).ready(function() {
$(function(){
var current = location.pathname;
$('#wa li a').each(function(){
var $this = $(this);
// if the current path is like this link, make it active
if($this.attr('href').indexOf(current) !== -1){
$this.addClass('active');
}
})
})
});
почему бы не просто добавить этот класс активно во время печати внутри 'while' блок – Ghost
Если я добавить класс активного все это будет активным, сэр. – wataru
вы только добавляете активный класс в зависимости от того, что у вас есть, просто используйте 'if' или просто простой тернар – Ghost