Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/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 - Fatal编程技术网

使用jquery切换类

使用jquery切换类,jquery,Jquery,我需要根据链接中是否有特定类的条件,交换放置在链接中的跨度中的类。尝试过这个,但似乎不起作用。我错过了什么 if ($("#myLink").hasClass("dis")) { $("#myLink").find("span").toggleClass("uico", "uicoGR"); } else { $("#myLink").find("span").toggleClass("uicoGR", "uico"); } <a href="#" id="myLink"

我需要根据链接中是否有特定类的条件,交换放置在链接中的跨度中的类。尝试过这个,但似乎不起作用。我错过了什么

if ($("#myLink").hasClass("dis")) {
    $("#myLink").find("span").toggleClass("uico", "uicoGR");
} else {
    $("#myLink").find("span").toggleClass("uicoGR", "uico");
}

<a href="#" id="myLink" class="dis"><span class="uico"></span></a>
if($(“#myLink”).hasClass(“dis”)){
$(“#myLink”).find(“span”).toggleClass(“uico”、“uicoGR”);
}否则{
$(“#myLink”).find(“span”).toggleClass(“uicoGR”、“uico”);
}

类应在单个字符串参数中传递,并用空格分隔,例如:

$("#myLink").find("span").toggleClass("uico uicoGR");

要切换的两个类名应该在第一个参数中传递,用空格分隔

此外,还可以将
hasClass()
条件添加到选择器中

$('.dis#mylink span').toggleClass('uico uicoGR') ;
编辑

再读一遍这个问题,不清楚您是否了解
toggleClass()
的作用。此函数查找所有命名的类,如果找不到,则添加它们;如果找不到,则删除它们。看起来您想要的是根据是否找到第三个类来添加或删除类。为此,只需使用
addClass()
removeClass()


如果您坚持使用双类方法,那么Gus在这里有正确的答案,但我会质疑您是否需要这段代码。如果这些类用于CSS,那么您就不需要任何javascript,因为您已经有足够的信息来识别CSS选择器中的两种状态,而无需添加/删除uicoGR或uico

第一个状态(您使用.uicoGR的目的)是此CSS选择器:

#mylink span {put your CSS here}
#mylink.dis span {put your CSS here}
第二种状态(您使用.uico的目的)是此CSS选择器:

#mylink span {put your CSS here}
#mylink.dis span {put your CSS here}

当类“dis”存在时,第二个状态将覆盖第一个状态的CSS。

原始问题中有一个需要解决的条件。我同意FiveTools,这个答案指出了一个jQuery使用问题,但没有回答问题。我假设原始代码已经解决了该条件,但如果两个分支在每个分支中都有完全相同的代码,为什么要使用if/else呢:
$(“#myLink”).find(“span”).toggleClass(“uico uicoGR”)