添加 class 后再次单击并添加 class
click and addclass again after class has been added
正如标题所说,我想在不使用切换的情况下将 classes 添加到 div。'
所以基本上我想在页脚中添加一个 class,我可以使用以下方法实现:
$('footer').click(function(){
$('footer').addClass('class-one');
});
但问题是我想在 class-one 存在
时再次单击以再次添加 class
然后再次添加
$('.class-one').click(function(){
$('.class-one').addClass('class-two');
$('.class-two').removeClass('class-one');
});
repeat this
$('.class-two').click(function(){
$('.class-two).addClass('class-three');
$('.class-three).removeClass('class-two);
无效。
有人可以告诉我如何实现我的目标吗?这样我可以重复5~9次吗?
如果我的问题很难理解
我想做的是
假设我正在点击
一个球的图片,我点击它,它变成了三角形
当我点击三角形时,它变成了正方形
然后我再次点击它,它变成了一个六边形
将您的 classes 放入 Array
中,然后使用索引访问 class 并在这种情况下使用一个计数器作为我们的索引,我们将使用增量运算符对其进行更新。
var classes = ["class-one", "class-two"], counter = 0;
$('footer').click(function(){
$(this).removeClass(classes[counter]).addClass(classes[counter++]);
});
看看这个:
例如:
$('.one').click(function(e)
{
$(e.currentTarget).removeClass('one');
$(e.currentTarget).addClass('two');
});
参考:http://jsfiddle.net/3uz03b5r/
您的代码:
$('.class-one').click(function(e){
$(e.currentTarget).addClass('class-two');
$(e.currentTarget).removeClass('class-one');
});
试试这个
Html
<div class = "set0">Test<div>
Jquery
var i = 0;
$('.set'+i).on('click',function(){
$(this).removeClass('set'+i);
i++;
$(this).addClass('set'+i);
});
试试这个..
<div id="facts">
<p>(click me):</p>
<input type="hidden" class="old" value="0"/>
<div class="class-1"><div>
</div>
<script>
$(document).ready(function() {
var current = 1;
$('#facts').click(function() {
var old= $(".old").val();
var newvalue= parseInt(current)+parseInt(old);
$(".old").val(newvalue);
$('.class-'+old).addClass('class-'+newvalue);
$('.class-'+newvalue).removeClass('class-'+old);
});
});
</script>
正如标题所说,我想在不使用切换的情况下将 classes 添加到 div。'
所以基本上我想在页脚中添加一个 class,我可以使用以下方法实现:
$('footer').click(function(){
$('footer').addClass('class-one');
});
但问题是我想在 class-one 存在
时再次单击以再次添加 class然后再次添加
$('.class-one').click(function(){
$('.class-one').addClass('class-two');
$('.class-two').removeClass('class-one');
});
repeat this
$('.class-two').click(function(){
$('.class-two).addClass('class-three');
$('.class-three).removeClass('class-two);
无效。
有人可以告诉我如何实现我的目标吗?这样我可以重复5~9次吗?
如果我的问题很难理解 我想做的是
假设我正在点击
一个球的图片,我点击它,它变成了三角形
当我点击三角形时,它变成了正方形
然后我再次点击它,它变成了一个六边形
将您的 classes 放入 Array
中,然后使用索引访问 class 并在这种情况下使用一个计数器作为我们的索引,我们将使用增量运算符对其进行更新。
var classes = ["class-one", "class-two"], counter = 0;
$('footer').click(function(){
$(this).removeClass(classes[counter]).addClass(classes[counter++]);
});
看看这个:
例如:
$('.one').click(function(e)
{
$(e.currentTarget).removeClass('one');
$(e.currentTarget).addClass('two');
});
参考:http://jsfiddle.net/3uz03b5r/
您的代码:
$('.class-one').click(function(e){
$(e.currentTarget).addClass('class-two');
$(e.currentTarget).removeClass('class-one');
});
试试这个
Html
<div class = "set0">Test<div>
Jquery
var i = 0;
$('.set'+i).on('click',function(){
$(this).removeClass('set'+i);
i++;
$(this).addClass('set'+i);
});
试试这个..
<div id="facts">
<p>(click me):</p>
<input type="hidden" class="old" value="0"/>
<div class="class-1"><div>
</div>
<script>
$(document).ready(function() {
var current = 1;
$('#facts').click(function() {
var old= $(".old").val();
var newvalue= parseInt(current)+parseInt(old);
$(".old").val(newvalue);
$('.class-'+old).addClass('class-'+newvalue);
$('.class-'+newvalue).removeClass('class-'+old);
});
});
</script>