使用Jquery可以简单地选择

时间:2012-11-04 18:58:00

标签: jquery css

我只有3个div,背景颜色为蓝色。

我需要jQuery来使每个框可选 单击/选中该框时,jQuery应将具有不同背景颜色的类.selected添加为红色。未选中的所有其他选项应在单击另一个div时更改为蓝色。

这是css

.block {
    width: 300px;
    padding: 10px;
    background: blue;
    color:white;
    margin-top:5px;
}

.selectable {
    background: red;
}

这是html

<div class="block">
    Some stuff here
</div>

<div class="block">
    Some stuff here
</div>

<div class="block">
    Some stuff here
</div>

我如何使用jQuery?
这是所有实际的jsfiddle

5 个答案:

答案 0 :(得分:4)

试试 jsFiddle example

$('.block').click(function() {
    $('.block').removeClass('selectable');
    $(this).addClass('selectable');
});​

答案 1 :(得分:3)

如果元素是兄弟姐妹,则可以使用siblings method

$(".block").on("click", function() {
    $(this).addClass("selectable").siblings().removeClass("selectable");
});

或者:

var $blocks = $(".block").on("click", function() {
    $blocks.removeClass("selectable");
    $(this).addClass("selectable");
});

答案 2 :(得分:1)

这应该有效:

$('.block').click(function() {
    $('.selected').removeClass('selected')
    $(this).addClass('selected');
});

答案 3 :(得分:1)

我的方法是在点击时取消选中所有其他div,然后切换单击的div(也允许取消选择):

​$('.block').click(function() {
    $('.block').not($(this)).removeClass('selectable');
    $(this).toggleClass('selectable');
});​​​​​

更新了FIDDLE

答案 4 :(得分:-1)

这个代码非常简单。

$('.block').click(function() {
  $(this).toggleClass('selected'); // if it has the class, it will take it away, if it doesn't have it, it will add it.
});