Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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,我有以下代码: <a href="#" class="more">text</a> 但我让课堂从“更多”变为“更多”,而不是“更少” 谢谢,, 米格尔使用切换并指定可以实现这一点。它只会删除存在的类名,并添加不存在的类名。但是您应该首先确保元素上至少存在一个 $this.toggleClass('more less'); $(“切换”).toggleClass(“更多”); $(“a#toggle”).toggleClass(“less”); 或者你可以把它们锁在一

我有以下代码:

<a href="#" class="more">text</a>
但我让课堂从“更多”变为“更多”,而不是“更少”

谢谢,,
米格尔

使用切换并指定可以实现这一点。它只会删除存在的类名,并添加不存在的类名。但是您应该首先确保元素上至少存在一个

$this.toggleClass('more less');


$(“切换”).toggleClass(“更多”);
$(“a#toggle”).toggleClass(“less”);
或者你可以把它们锁在一起。
$(“切换”).toggleClass(“更多”);
.toggleClass(“较少”);

关键是:toggleClass只会在参数中添加/删除该类。它不会在括号中的类之间切换。

我真想知道为什么会将其标记为答案。1) 使用带有id的标记名效率低且速度慢,只需id就足够了2)调用toggleClass两次可以减少到只调用一次,就像我的回答中所说的那样,这样效率更高,而且做的是相同的工作。我想Shapper只需要弄清楚为什么
toggleClass()
不能像他最初期望的那样工作@PSL,你的解决方案确实也是一个优雅的选择。当你只需要一个调用时,这与优雅无关。为什么需要两个调用,他的语法在问题中是不正确的,如果你看到他将它们作为参数传递。PSL,我理解你的感觉。但是Shapper所需要的只是理解
toggleClass()
是如何工作的。我们的两个答案都能满足这一需求。也许他觉得我的描述更详细,帮助他更多。我不知道。请不要对这种琐碎的事情生气。这不值得你花时间。这不是关于琐碎或愤怒的lol,我的回答可能是错的,也可能是对的。所以作为一种礼貌的反馈总是好的,如果效果不好,我也会学到新东西。还有我的答案中的regd描述。我只是想知道。对不起,我没有回答你的建议。问题是我不确定我的锚上是否总是有一个“更多”或“更少”的类。我需要检查一下这个。。。事实上,我想我可能也会遇到这样的情况,班级是空的。。。我仍在寻找解决这个问题的最佳方法。@Shapper如果是这种情况,同样的问题也会发生在另一个答案上。它只是做同样的事情,但效率较低。而且所有这些也不是你问题的一部分。
$this.toggleClass('more less');
<a href="#" id="toggle">text</a>

$("a#toggle").toggleClass("more");
$("a#toggle").toggleClass("less");

or you can chain them together.

$("a#toggle").toggleClass("more");
             .toggleClass("less");