javascript - jQuery nth-child 选择器不适用于 jQuery

标签 javascript jquery css jquery-selectors

我这里有 JavaScript 代码来检测 URL 中的 #如果检测到,然后将事件类添加到元素。然而,在第 n 个子选择器的三种情况下,什么也没有发生,我不确定为什么。

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

<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>

最佳答案

你的选择器是错误的,它应该是

$('#tab a.nav:nth-child(n)')

$('#tab li:nth-child(n) a.nav')

你现在要做的是在#tab 下寻找 EACH li 的第 n 个子 anchor

关于javascript - jQuery nth-child 选择器不适用于 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18562366/

相关文章:

javascript - 如何在 javascript 中的单个警报消息中显示表单值

javascript - HTML + JavaScript 日期 setter 功能设置与输入不同的日期

javascript - 旋转图像

javascript - jQuery 1.7 *仍然*在 Chrome 中返回 event.layerX 和 event.layerY 错误

javascript - 无法在对象文字中使用 jQuery 函数

html - 如何使用 CSS 为选定的列表项赋予不同的颜色?

javascript - 如何将注册表数据输出到当前页面和其他页面?

html - CSS 中的层次结构显示

html - CSS - 多行换行

php - 如何更改JSON输出格式以及如何支持汉字?