javascript - 如何使用 jQuery 从所有 div 中删除一个类,而不仅仅是 sibling ?

标签 javascript jquery addclass removeclass siblings

当用户单击它时,我使用 jQuery 将“selected”类添加到 div(它向缩略图添加红色边框)。同时我想从先前选择的 div 中删除该类。

如果所有 div 都是同级的,但文档中的其他 div 仍保持选中状态,我就可以使其工作。我正在设计和开发的页面要求 div 不能都是 sibling 。如何删除文档中任何位置先前选定的 div 上的“选定”类,而不仅仅是同级?

您可以在jsfiddle上查看和编辑我的示例:http://jsfiddle.net/3s4dM/6/

jQuery:

$(".thumbnail").click(function() {
    $(this).addClass("selected").siblings().removeClass("selected");
})

CSS:

.thumbnail {
    background: #dddddd;
    width: 42px;
    height: 42px;
    margin-bottom: 5px;
}

.thumbnail:hover {
    cursor: pointer;
}

.thumbnail.selected {
    width: 36px;
    height: 36px;
    border: 3px solid #C72D30;
}

HTML:

<section>

    <div class="thumbnail"></div>

</section>

<section>

    <div class="thumbnail"></div>

</section>

<section>

    <div class="thumbnail"></div>
    <div class="thumbnail"></div>
    <div class="thumbnail"></div>

</section>

最佳答案

您可以使用组合选择器来获取具有 thumbnailselected 类的所有 div 元素,然后删除 selected code> 类。(由于您再次将 selected 添加到当前缩略图,请忽略也使用 not())

$(".thumbnail").click(function() {
    $('.thumbnail.selected').not(this).removeClass("selected")
    $(this).addClass("selected");
})

演示:Fiddle

关于javascript - 如何使用 jQuery 从所有 div 中删除一个类,而不仅仅是 sibling ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21744000/

相关文章:

html - jQuery - 单击链接时切换 DIV 类,隐藏链接并显示 DIV 中的隐藏信息。页面上的多个实例

javascript - 将传单插件添加到 React-Leaflet

javascript - jQuery .done 未触发 $.post 请求

java - 从 JQuery (Webdriver) 制作数组

jquery - 如何给父div添加一个类?

javascript - 使用 Javascript 更改 a 元素的类

jquery - CSS & jQuery (Q1) : Best light-weight method to switch from slide to slide on click

javascript - 我应该使用什么语言来构建小型 Costing 应用程序?

javascript - 通过 Javascript 更改类的不透明度

javascript - 如何在 jquery ajax 模板中添加两个不同绑定(bind)变量的值,如 ${amount} 和 ${tax}?