Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
Jquery多类_Jquery_Jquery Ui - Fatal编程技术网

Jquery多类

Jquery多类,jquery,jquery-ui,Jquery,Jquery Ui,为什么下面的代码只工作一次 $( document ).ready(function() { $(".fb.unselect").click(function(){ $(this).removeClass("unselect").addClass("select"); }); $(".fb.select").click(function(){ $(this).removeClass("select").addClass("unselect"); alert("

为什么下面的代码只工作一次

$( document ).ready(function() {
  $(".fb.unselect").click(function(){
    $(this).removeClass("unselect").addClass("select");
  });
  $(".fb.select").click(function(){
    $(this).removeClass("select").addClass("unselect");
    alert("hellp");
  });
});

<li id="177200175" class="fb select">Donald Steele</li>
$(文档).ready(函数(){
$(“.fb.unselect”)。单击(函数(){
$(this.removeClass(“取消选择”).addClass(“选择”);
});
$(“.fb.select”)。单击(函数(){
$(this.removeClass(“select”).addClass(“unselect”);
警惕(“hellp”);
});
});
唐纳德·斯蒂尔

执行此类操作的更好方法是使用toggleClass

你的问题不是很清楚,但从字里行间看,我想你是在尝试这样做:

$(document).ready(function() {
    $(".fb").toggleClass('selected');
});

这将产生这样的效果:当类“selected”不存在时将其添加,当它存在时将其删除。您可以使用css控制该类的存在方式。

问题在于,您在文档加载时定义的函数仅在特定时刻绑定。因此,即使更改元素的类,它也不会神奇地自动绑定到另一个函数

因此,后一个函数总是被调用,它试图删除class
select
并添加class
unselect
,这导致了一个问题,即该类只更改一次为
unselect
,并一直保持这种状态,如您所说

要使用问题中的两个不同类修复示例,请执行以下操作,例如:

$(document).ready(function() {
    $(".fb").click(function() {
        if ($(this).hasClass('select')) {
            $(this).removeClass('select').addClass('unselect');
        } else {
            $(this).removeClass('unselect').addClass('select');
        }
    });
});

这是一个。

你说一次有效是什么意思?应该有多少次有效?