使用Jquery进行简单选择
我只有三个背景颜色都是蓝色的div 我需要jQuery使每个框都可选择。使用Jquery进行简单选择,jquery,css,Jquery,Css,我只有三个背景颜色都是蓝色的div 我需要jQuery使每个框都可选择。 单击/选择该框时,jQuery应将具有不同背景颜色的class.selected添加为红色。单击其他div时,所有未选中的其他div应变回蓝色 这是css .block { width: 300px; padding: 10px; background: blue; color:white; margin-top:5px; } .selectable { backgroun
单击/选择该框时,jQuery应将具有不同背景颜色的class.selected添加为红色。单击其他div时,所有未选中的其他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实现它?下面是所有实际的代码非常简单
$('.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.
});
如果元素是同级元素,则可以使用:
$(".block").on("click", function() {
$(this).addClass("selectable").siblings().removeClass("selectable");
});
或:
试试这个
$('.block').click(function() {
$('.block').removeClass('selectable');
$(this).addClass('selectable');
});
这应该起作用:
$('.block').click(function() {
$('.selected').removeClass('selected')
$(this).addClass('selected');
});
我的方法是在单击时取消选择所有其他div,然后切换单击的div(以允许取消选择):
更新。
-1
用于过于简化。。并没有改变其他的div,正如OPOn第二次思考所要求的,这一个是为我做的!令人惊叹的!谢谢这很有趣。李的兄弟姐妹?@wolverene我不明白你的问题是什么-你能解释一下吗?(这很有趣。李的兄弟姐妹?
)@NULL对不起,请忽略这个问题。因为我仍然需要完全理解兄弟方法是什么。还在学习。但是现在我开始看到jquery是多么的神奇,它有着无限的潜力。我从这篇文章中学到了很多!谢谢
$('.block').click(function() {
$('.selected').removeClass('selected')
$(this).addClass('selected');
});
$('.block').click(function() {
$('.block').not($(this)).removeClass('selectable');
$(this).toggleClass('selectable');
});