كيف يتم اضافة class للصفحة المتواجد بها فقط
جربت الكثير من الاكواد و لكن لا يشتغل بسبب الqurey
مثلا
example.com/home.php
يعمل
لكن
example.com/me.php?id=1
لا يعمل
شكرا على ردك السريع
المطلوب :
اضافة class
اسمه active
فى الnavbar
كود الnavbar
<nav class="navbar navbar-inverse" role="navigation">
<div class="container">
<div class="navbar-header navbar-right">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#mynavbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">اسم الموقع</a>
</div>
<div class="collapse navbar-collapse" id="mynavbar">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="#">الصفحة الرئيسية</a></li>
<?php
$sql = "select * from db";
$query = mysql_query($sql);
while ($res = mysql_fetch_array($query)){
echo "<li><a href=\"me.php?id=".$res['id']."\">".$res['name']."</a></li>";
}
?>
</ul>
</div>
</div>
</nav>
جربت هذا الكود و لاكن لم يعمل $(function(){ var url = window.location.pathname; var elementName = url.match(/\/(\w+).?\/?$/); $('.collapse .navbar-collapse' + elementName).addClass('active'); });
أضف التحقق من الصفحة الحالية عبر php وليس javascript
مثلا :
..............
<ul class="nav navbar-nav navbar-right">
<li ><a href="#">الصفحة الرئيسية</a></li>
<?php
$sql = "select * from db";
$query = mysql_query($sql);
while ($res = mysql_fetch_array($query)){
$isActive = false;
if( $res['id'] == $_GET['id'] ){
$isActive = true;
}
echo "<li ".($isActive ? 'class="active"' : '')."><a href=\"me.php?id=".$res['id']."\">".$res['name']."</a></li>";
}
?>
</ul>
.............
جرب هذا
$(function() {
$('nav a[href^="/' + location.pathname.split("/")[1] + '"]').addClass('active');
});
مقتبس من هنا
التعليقات