使用替换函数删除 Javascript 中元素的类

Remove class of an element in Javascript using replace function

本文关键字:元素 Javascript 删除 替换 函数      更新时间:2023-09-26

我尝试了一种在 JavaScript 中删除元素类的方法,但它不起作用,你们都能解释一下原因吗?

function del() 
{
cross.className.replace("anim"," ");
}

cross 是保存在变量中的元素。

字符串replace()方法返回具有新值的新字符串。它不会修改原始字符串。

下面是一个简单的示例:

var str = "Hello World!";
var res = str.replace("World", "Foo");
console.log(str);  // prints Hello World!
console.log(res);  // prints Hello Foo!

因此,在您的特定情况下,为了使它正常工作,您必须将新字符串分配给cross.className,如下面的代码所示:

cross.className = cross.className.replace("anim"," ");

如果您不必支持非常旧的浏览器,您还可以使用 classList 属性:

cross.classList.remove("anim");

创建自己的方法来添加、删除和替换类很容易出错。 例如:当另一个类包含子字符串"anim"时会发生什么?通过使用Element类中现成的方法,您可以使工作变得容易得多。

更多关于类列表: https://developer.mozilla.org/en/docs/Web/API/Element/classList

您需要

将值分配给类,因为将返回的新字符串替换为替换的文本

function del() {
    cross.className = cross.className.replace("anim"," ");
}

你可以使用 jQuery 通过 id 从特定元素中删除类

$("#cross").removeClass("anim");