Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/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
使用if条件切换JavaScript中的add和remove类_Javascript - Fatal编程技术网

使用if条件切换JavaScript中的add和remove类

使用if条件切换JavaScript中的add和remove类,javascript,Javascript,我有一个id为=“carettogle”的元素和一个onclick=“carettogle()”的按钮。这将触发一个函数,该函数添加一个类以反转按钮上的插入符号 我在跑步方面取得了成功: function caretToggle() { var caretElement = document.getElementById("caretToggle"); caretElement.classList.add("dropup"); } 但这会使插入符

我有一个id为=“carettogle”的元素和一个onclick=“carettogle()”的按钮。这将触发一个函数,该函数添加一个类以反转按钮上的插入符号

我在跑步方面取得了成功:

function caretToggle() {
  var caretElement = document.getElementById("caretToggle");
  caretElement.classList.add("dropup");
}
但这会使插入符号在折叠关闭后反转。我想在再次单击按钮后切换插入符号

这是我无法工作的条件代码:

function caretToggle() {
  var caretElement = document.getElementById("caretToggle");
  if (caretElement.classList.contains("dropup")) {
    caretElement.classList.remove("dropup");
  } else {
    caretElement.classList.add("dropup");
  }
}

提前感谢您提供的任何帮助

您不需要检查wheter是否包含。 只需使用
类列表
:)上的
切换
功能即可

函数caretToggle(){
var caretElement=document.getElementById(“caretToggle”);
caretElement.classList.toggle(“dropup”);
}
还有一个条件切换,如:

caretElement.classList.toggle(“dropup”,计数器<10)


如果您想切换类,只需像这样做,就可以从MDN检查

let caretElement=document.getElementById(“caretToggle”);
函数caretToggle(){
caretElement.classList.toggle(“dropup”);
console.log('class属性包含:',caretElement.className)
}
span{
利润率:10px;
}
.辍学{
背景颜色:紫色;
填充:1em;
边界半径:10px;
颜色:白色;
}
HTMLElement





单击
@gooosegoose这应该可以工作了。你能分享一下MVP吗?