jQuery 选择器

原文 标签 jquery css-selectors

我发现很难找到使用 jQuery 的例子,所以我很不好意思问这么简单的问题。我有这个 ul:

<ul id="navLinks">
    <li class="selected" id="homeNavLink"></li>
    <li id="aboutNavLink"></li>
    <li id="contactNavLink"></li>
    ...
</ul>

我想编写一个函数来更改哪个 li 具有“选定”类。这是我的尝试:
function changeNavLink(selectedId) {
    $("#navLinks li").each(function() {
        $(this).removeClass("selected");
    });
    $("#" + selectedId).addClass("selected");
}

我究竟做错了什么?

最佳答案

你不必做.each - 功能如 removeClass 可以处理一组元素就好了。

function changeNavLink(selectedId) {
    $("#navLinks li").removeClass('selected')
                     .filter('#' + selectedId)
                     .addClass('selected');
}

应该管用。它所做的是选择所有 li元素,删除类 selected来自所有人,filtering them out到通过 ID 的那个,并添加类 selected到那个。

Here is a working link在工作中显示上面的代码。

关于jQuery 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/735910/

相关文章:

java - 使用JSoup聚合数据

javascript - testcafe 选择器找不到 'div' 元素

javascript - HTML5 Canvas 游戏将子弹射击到鼠标指向。

jquery - 在 FancyBox 中加载 JW Player

php - Codeigniter Twitter样式流和Ajax

javascript - 如何使变量“Counter”计数通过单击随机创建并消失的“div”的数量

javascript - 按子元素的数据ID对li排序-jQuery

css - 分层注释系统

asp.net - 如何在 json 结果上使用 jquery 选择器

html - CSS :selected pseudo class similar to :checked, 但对于 <option> 元素