主页的选定状态
Selected state for home page
我正在尝试使用jQuery创建一个选定的状态。我有所有的页面,除了主页,因为没有唯一的页面标识符(即www.abcd.co.nz
)JS Fiddle here: http://jsfiddle.net/zangief007/1ta4gxwn/
if (window.location.href.indexOf("/") > -1) {
$("header ul li a.home").addClass("tn-selected");
}
if (window.location.href.indexOf("about") > -1) {
$("header ul li a.about").addClass("tn-selected");
}
if (window.location.href.indexOf("links") > -1) {
$("header ul li a.links").addClass("tn-selected");
}
if (window.location.href.indexOf("contact") > -1) {
$("header ul li a.contact").addClass("tn-selected");
}
你能这样做吗?
var selector = "a.home";
if(window.location.href.indexOf("about") > -1) {
selector = "a.about";
}
else if(window.location.href.indexOf("links") > -1) {
selector = "a.links";
}
else if(window.location.href.indexOf("contact") > -1) {
selector = "a.contact";
}
$("header ul li "+selector).addClass("tn-selected");
使用a.home
作为默认值?
完全基于您的JSFiddle演示:
JavaScript问题你的jQuery选择器在li
, ul
, header
中寻找a.about
元素。您的JSFiddle演示没有header
元素。
纠正你的jQuery选择器后,你的新类确实得到应用,但是你的CSS是无效的,因为它有奇怪的逗号放置。样式永远不会被应用。
改变:
a.about.tn-selected,
a.contact.tn-selected,
, /* Remove this. */
a.links.tn-selected,
, /* ...and this. */
a.home.tn-selected{
color:#333;
}
:
a.about.tn-selected,
a.contact.tn-selected,
a.links.tn-selected,
a.home.tn-selected {
color:#333;
}
或只是:
a.tn-selected {
color:#333;
}
相关文章:
- 事件和状态
- 获取选择框的状态
- 相位器状态未捕获参考错误
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何使用密码检测网络中的状态连接
- Ember.js-接口状态应该存储在哪里
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- 当浏览器上的后退按钮到达主页时,我需要删除Class
- 在Angular 2中布线期间保持零部件处于活动状态
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- XMLHttpRequest未返回值-状态202
- 使用javascript反复检查用户在facebook上的登录状态
- 如何使bxslider仅在移动视图中处于活动状态
- 获取ASP.NET Ajax Timer状态
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- React redux初始化功能,无论状态变化如何
- 无法在现有状态转换期间更新-未使用任何非法的setState()
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 从组件状态的数组中删除元素
- 主页的选定状态