jQuery并在两种情况之间切换

jQuery并在两种情况之间切换,jquery,Jquery,我有这个密码 <a href="#"> <span style="border-right: medium none;" class="Yes">Yes</span> </a> <a href="#"> <span class="No">No</span> </a> 如果“否”为“当前”我想在单击“是”类调用时调用“当前”添加“是”范围并从“否”中删除“当前”类 如果是current我想当点击n

我有这个密码

<a href="#">
<span style="border-right: medium none;" class="Yes">Yes</span>
</a>
<a href="#">
<span class="No">No</span>
</a>

如果“否”为“当前”我想在单击“是”类调用时调用“当前”添加“是”范围并从“否”中删除“当前”类

如果是
current
我想当点击no class调用
current
添加no span并从yes中删除
current
class时


我希望每个案例只需单击一下即可发生。

这是一个示例。这是第一次切割,可能是可以优化的。我所要做的就是从所有元素中删除
current
类,并将其添加到当前元素中

您必须修改您的html以拥有唯一的类

    <a href="#">
    <span style="border-right: medium none;" class="Yes yesno">Yes</span>
</a>
<a href="#">
    <span class="No yesno">No</span>
</a>

看看是否有帮助。

这是一个示例。这是第一次切割,可能是可以优化的。我所要做的就是从所有元素中删除
current
类,并将其添加到当前元素中

您必须修改您的html以拥有唯一的类

    <a href="#">
    <span style="border-right: medium none;" class="Yes yesno">Yes</span>
</a>
<a href="#">
    <span class="No yesno">No</span>
</a>
看看是否有帮助。

试试这个:

$(".Yes, .No").click(function() {
  if(!$(this).hasClass("current"))
    $(".Yes, .No").toggleClass("current");
});
Yes
No
都会触发单击,但只有在当前操作没有发生的情况下才会执行该操作。只需将current设置为您最初想要的任何值,从那时起,切换将按照您在问题中所描述的那样进行操作。

尝试以下操作:

$(".Yes, .No").click(function() {
  if(!$(this).hasClass("current"))
    $(".Yes, .No").toggleClass("current");
});

Yes
No
都会触发单击,但只有在当前操作没有发生的情况下才会执行该操作。只需将当前值设置为您最初想要的值,从那时起,切换将按照您在问题中描述的那样处理它。

也许我误解了您的问题,但看起来您正在尝试生成类似单选按钮的功能

<div class="radioButtons">
    <a href="#">Yes</a>
    <a href="#">No</a>
    <a href="#">Maybe</a>
</div>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
    function select(event) {
        var clicked = $(event.target);
        clicked.siblings('a').removeClass('selected');
        clicked.addClass('selected');
    }

    $(function() {
        $('.radioButtons a').click(select);
    });
</script>

功能选择(事件){
var clicked=$(event.target);
单击。兄弟姐妹('a')。removeClass('selected');
单击.addClass('selected');
}
$(函数(){
$('.radioButtons a')。单击(选择);
});

也许我误解了你的问题,但看起来你在尝试制作一些类似单选按钮的东西

<div class="radioButtons">
    <a href="#">Yes</a>
    <a href="#">No</a>
    <a href="#">Maybe</a>
</div>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
    function select(event) {
        var clicked = $(event.target);
        clicked.siblings('a').removeClass('selected');
        clicked.addClass('selected');
    }

    $(function() {
        $('.radioButtons a').click(select);
    });
</script>

功能选择(事件){
var clicked=$(event.target);
单击。兄弟姐妹('a')。removeClass('selected');
单击.addClass('selected');
}
$(函数(){
$('.radioButtons a')。单击(选择);
});

如何确定什么是“当前”聪明的解决方案,如何确定什么是“当前”聪明的解决方案,但如果两个解决方案最初都没有类
当前
,会发生什么情况?@Teja-我假设基于一开始会遇到的问题。如果您阅读了问题的文本,则在每个操作案例中,只有当另一个元素具有
当前
类时,才会发生问题。如果您不能在服务器端执行此操作,那么您可以在以下各项上默认为no:
$(.no”).addClass(“当前”)
聪明的解决方案,但是如果他们两个最初都没有类
current
,会发生什么呢?@Teja-我假设基于一个最初的问题。如果您阅读了问题的文本,则在每个操作案例中,只有当另一个元素具有
当前
类时,才会发生问题。如果您不能在服务器端执行此操作,那么您可以在以下各项上默认为no:
$(.no”).addClass(“当前”)我不理解
$('.yesno')。每个(函数(I,v){$(v).removeClass('current');})为什么不
$('.yesno').removeClass('current')?@Nick Craver,是的,不需要循环就可以直接完成,我开始做其他事情,就这样离开了。我在帖子中还提到,这可以进一步优化。我不理解
$('.yesno')。每个(函数(I,v){$(v).removeClass('current');})为什么不
$('.yesno').removeClass('current')?@Nick Craver,是的,不需要循环就可以直接完成,我开始做其他事情,就这样离开了。我在帖子中也提到,这可以进一步优化。