javascript - .addClass 只有在无序列表中被点击的元素符号

标签 javascript jquery html css addclass

我有一个带有两个元素符号的简短无序列表。

我添加了一些 Javascript,因此当我单击元素符号时,它会向其添加一个类。

问题是,它将类添加到所有现有的 li,而不仅仅是我单击的那个。

这是 JSFiddle:http://jsfiddle.net/4sa8T/

Javascript:

$("#items li a").click(function(){

$("#items li").addClass("newClass");

});

html:

<div id="content">
    <ul id="items">
    <li><a href="#">Hello</a></li>
    <li><a href="#">Bye</a></li>    
    </ul>
</div>

最佳答案

$("#items li a").click(function(){
    $("#items li").addClass("newClass");
});

应该是

$("#items li a").click(function(){
    $(this).parent().addClass("newClass");
});

$(this).parent() 将引用特定的 li 元素,而 $('#items li') 引用所有 li under #items

关于javascript - .addClass 只有在无序列表中被点击的元素符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16512984/

相关文章:

javascript - 双击时将输入文本添加到 html 表 td 中

javascript - 为什么启用和禁用按钮不起作用?

javascript - 为什么我的代码不能在所有浏览器中运行?

javascript - 按从高到低对多个 int 变量进行排序

jquery - 根据 parent 值(value)标准更改弹出窗口颜色/类别

javascript - bootstrap 3 自定义滚动固定导航,带淡入淡出效果

javascript - AngularJS - 防止提交带有必填字段的表单

javascript - 如何使用 React ref 获取元素的宽度?

javascript - 为什么我的表单数据 POST 没有被 Cors 策略阻止?

javascript - 如何在 JavaScript 中重用 SASS 变量