javascript - 仅定位单击的元素

标签 javascript jquery

我做了一个简单的开关按钮。 类的变化很好,但是当我有此按钮的多个实例时,它不会保留原始选择。

提前致谢

HTML

<ul class="button-switch">
    <li><a href="#" class='active'>Spider-Man</a></li>
    <li><a href="#">Iron Man</a></li>
    <li><a href="#">Thor</a></li>
    <li><a href="#">Hulk</a></li>
</ul>

JQUERY

$('.button-switch li a').click(function(e) {
  e.preventDefault();
  $('.button-switch li a').removeClass('active');
  $(this).addClass('active');
});

JS fiddle 示例 https://jsfiddle.net/t1gsp90j/1/

最佳答案

您需要将删除类的选择器与包含单击的liul 关联起来。试试这个:

$('.button-switch li a').click(function (e) {
    e.preventDefault();
    $('li a', $(this).closest('ul')).removeClass('active');
    $(this).addClass('active');
});

Updated fiddle

$(this).closest('ul').find('li a').removeClass('active'); 也会有同样的效果。

关于javascript - 仅定位单击的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29511444/

相关文章:

php - 在 php mysql 中更新和插入查询时出错

jquery - 使用滚动条打印 jquery 对话框的内容

javascript - AngularJS - $http get 返回状态为 0 的错误?

javascript - 我如何循环遍历数组并在 jquery 中动态创建项目

javascript - 我可以在javascript中将变量设置为变量组合吗?

JavaScript 悬停菜单在应该消失的时候没有消失

javascript - 如何在 HTML 页面中使用来自 API 的 JSON 数据?

javascript - 开发 Chrome 扩展时,如何打开空白页面来运行脚本?

JavaScript 循环内循环问题

javascript - Django 将 Python 对象从 View 传递到模板中的 Javascript 脚本