Materialise CSS and JQUERY - Sidebar active class 不添加?
Materialize CSS and JQUERY - Sidebar active class does not add?
我的侧边栏由 HTML 和 Materialize CSS 组成,每次使用侧边栏导航时,我都试图向列表项添加一个活动的 class。
<ul id="slide-out" class="side-nav fixed sidebar">
<li class="logo">
<a href="#!" class="brand-logo">
<img class="responsive-img" src="Images/communicarelogo.png" />
</a>
</li>
<li id="healthrecord" class="bold">
<a href="HealthRecords.aspx" class="waves-effect waves-teal">Health Records</a>
</li>
<li id="medmgt" class="bold">
<a href="MedicationsManagement.aspx" class="waves-effect waves-teal">Medications Management</a>
</li>
<li id="healthprogram" class="bold">
<a href="HealthPrograms.aspx" class="waves-effect waves-teal">Health Programs</a>
</li>
<li id="reports" class="bold">
<a href="Reports.aspx" class="waves-effect waves-teal">Reports</a>
</li>
<li class="divider"></li>
<li class="bold">
<a href="#" class="waves-effect waves-teal">My Profile</a>
</li>
<li class="bold">
<a href="#" class="waves-effect waves-teal">Change Password</a>
</li>
</ul>
我尝试使用 JQUERY 但它不起作用。活动 class 不显示 任何列表项。这是我的 JQUERY 代码。
$(function () {
var link = $('.sidebar-nav li a');
var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/") + 1);
$(link).each(function () {
switch (pgurl) {
case "HealthRecords.aspx":
$('#healthrecord').addClass('active');
break;
case "MedicationsManagement.aspx":
$('#medmgt').addClass('active');
break;
case "HealthPrograms.aspx":
$('#healthprogram').addClass('active');
break;
}
});
});
非常感谢!
首先你的类错了!您的 ul 的名称是:side-nav 而不是 sidebar-nav。
其次你不需要使用 switch case 只需检查每个的 href:
$(function() {
var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/")+1);
$(".side-nav li a").each(function(){
if($(this).attr("href") == pgurl || $(this).attr("href") == '' )
$(this).addClass("active");
})
});
我的侧边栏由 HTML 和 Materialize CSS 组成,每次使用侧边栏导航时,我都试图向列表项添加一个活动的 class。
<ul id="slide-out" class="side-nav fixed sidebar">
<li class="logo">
<a href="#!" class="brand-logo">
<img class="responsive-img" src="Images/communicarelogo.png" />
</a>
</li>
<li id="healthrecord" class="bold">
<a href="HealthRecords.aspx" class="waves-effect waves-teal">Health Records</a>
</li>
<li id="medmgt" class="bold">
<a href="MedicationsManagement.aspx" class="waves-effect waves-teal">Medications Management</a>
</li>
<li id="healthprogram" class="bold">
<a href="HealthPrograms.aspx" class="waves-effect waves-teal">Health Programs</a>
</li>
<li id="reports" class="bold">
<a href="Reports.aspx" class="waves-effect waves-teal">Reports</a>
</li>
<li class="divider"></li>
<li class="bold">
<a href="#" class="waves-effect waves-teal">My Profile</a>
</li>
<li class="bold">
<a href="#" class="waves-effect waves-teal">Change Password</a>
</li>
</ul>
我尝试使用 JQUERY 但它不起作用。活动 class 不显示 任何列表项。这是我的 JQUERY 代码。
$(function () {
var link = $('.sidebar-nav li a');
var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/") + 1);
$(link).each(function () {
switch (pgurl) {
case "HealthRecords.aspx":
$('#healthrecord').addClass('active');
break;
case "MedicationsManagement.aspx":
$('#medmgt').addClass('active');
break;
case "HealthPrograms.aspx":
$('#healthprogram').addClass('active');
break;
}
});
});
非常感谢!
首先你的类错了!您的 ul 的名称是:side-nav 而不是 sidebar-nav。 其次你不需要使用 switch case 只需检查每个的 href:
$(function() {
var pgurl = window.location.href.substr(window.location.href.lastIndexOf("/")+1);
$(".side-nav li a").each(function(){
if($(this).attr("href") == pgurl || $(this).attr("href") == '' )
$(this).addClass("active");
})
});