首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery nth-不使用jQuery的子选择器

jQuery nth-不使用jQuery的子选择器
EN

Stack Overflow用户
提问于 2013-09-01 20:03:26
回答 2查看 1.2K关注 0票数 1

这里有JavaScript代码,用于检测URL中的一个#,如果检测到,则向元素中添加一个活动类。然而,在第n个孩子选择器的三个案例中,什么都没有发生,我不知道为什么。

代码语言:javascript
复制
switch (window.location.hash) {
    case "#MAIN":
        $('#tab li a.nav:first').addClass('act').siblings().addClass('inact');
        break;
    case "#sg2":
        $('#tab li a.nav:nth-child(2)').addClass('act').siblings().addClass('inact');
        alert($('#tab li a.nav:nth-child(2)').className);
        break;
    case "#sg3":
        $('#tab li a.nav:nth-child(3)').addClass('act').siblings().addClass('inact');
        break;
    case "#zycsg":
        $('#tab li a.nav:nth-child(4)').addClass('act').siblings().addClass('inact');
        break;
    default:
        $('#tab li a.nav:first').addClass('act').siblings().addClass('inact');
}

我该如何解决这个问题?

HTML

代码语言:javascript
复制
<div id="tab">
    <ul>
        <li class="menuItem2"><a href="#MAIN" class="nav" onclick='window.history.pushState("", "", "/#MAIN");'>Home-1</a></li>
        <li class="menuItem2"><a href="#sg2" class="nav" onclick='window.history.pushState("", "", "/#sg2");'>HDCYG?</a></li>
        <li class="menuItem2"><a href="#sg3" class="nav" onclick='window.history.pushState("", "", "/#sg3");'>Home-3</a></li>
        <li class="menuItem2"><a href="#zycsg" class="nav" onclick='window.history.pushState("", "", "/#zycsg");' style="width:300px;">Zinteen youtube collection</a></li>
    </ul>
</div>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-01 20:35:16

你的选择器错了,应该是

代码语言:javascript
复制
$('#tab a.nav:nth-child(n)')

代码语言:javascript
复制
$('#tab li:nth-child(n) a.nav')

您现在正在寻找#选项卡下每个li的第n个子锚。

票数 3
EN

Stack Overflow用户

发布于 2014-07-08 23:25:53

我知道这已经关闭了,但是用href作为你的选择器不是更容易吗?

代码语言:javascript
复制
//get the hash
//find the anchor tag with the matching href and add the act class
//select all of the anchor tags with the nav class but not the nav and act class

var page = window.location.hash;
$('a.nav[href="'+page+'"]').addClass('act');
$('a.nav:not(.act)').addClass('inact');
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18562366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档