Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在集合中更改div类_Javascript_Jquery - Fatal编程技术网

Javascript 在集合中更改div类

Javascript 在集合中更改div类,javascript,jquery,Javascript,Jquery,我有下面的html,我想更改onclick周围的div。例如: 首字母 <div class="box1">Story 1</div> <div class="box2">Story 2</div> <div class="box2">Story 3</div> <div class="box2">Story 4</div> 故事1 故事2 故事3 故事4 当我点击故事2时,它变成了 <

我有下面的html,我想更改onclick周围的div。例如:

首字母

<div class="box1">Story 1</div>
<div class="box2">Story 2</div>
<div class="box2">Story 3</div> 
<div class="box2">Story 4</div>  
故事1
故事2
故事3
故事4
当我点击故事2时,它变成了

<div class="box2">Story 1</div>
<div class="box1">Story 2</div>
<div class="box2">Story 3</div> 
<div class="box2">Story 4</div>  
故事1
故事2
故事3
故事4

所以。。单击哪个div将获取box1的属性,其他div将成为box2。可能吗?

可能是这样的:

$('.box1, .box2').click(function() {
    $('.box1').addClass('box2').removeClass('box1');
    $(this).addClass('box1').removeClass('box2');
});

更整洁的做法可能是,为所有框设置一个
box
类,以及添加和删除一个
活动的
类,后者可以覆盖前者的属性。这样可以省去您切换两个不同类的麻烦。

类似于以下内容:

$('.box1, .box2').click(function() {
    $('.box1').addClass('box2').removeClass('box1');
    $(this).addClass('box1').removeClass('box2');
});

更整洁的做法可能是,为所有框设置一个
box
类,以及添加和删除一个
活动的
类,后者可以覆盖前者的属性。将省去您切换两个不同类的麻烦。

方法还有一个可能的解决方案:


演示:

另一种可能的解决方法:

演示:

试试这个

$("div").on("click",function(){
  $(".box1").prop("class","box2");
  $(this).prop("class","box1");
});
试试这个

$("div").on("click",function(){
  $(".box1").prop("class","box2");
  $(this).prop("class","box1");
});