javascript - 是否有使用 jQuery 设置元素类的首选方法

标签 javascript jquery css

在 jQuery 之前,我会使用类似下面的代码来在元素上设置类:

document.getElementById("MyElementID").className = 'MyClassName';

这的预期行为是替换我的新类名MyClassName

之前的任何内容

在 jQuery 中,等价的似乎是:

$('#MyElementID').attr('class', 'MyClassName')

但是,我们还有内置的类函数,addClass()removeClass()toggleClass()。所以为了达到同样的效果,我会说:

 $('#MyElementID').removeClass().addClass('MyClassName');

显然,第一个 jQuery 示例更加简洁,只需要一次函数调用(对 attr,而不是 addClass()removeClass())

我们是否还可以假设我不能使用 prop 作为我正在使用的早期(且当前不可更改)版本。 p>

那么您认为首选方法是什么?第二个样本是否给我提供了超出第一个样本的任何内容?

提前非常感谢。

最佳答案

jQuery 的 addClass()、removeClass() 和 has() 方法使用元素的 className 属性。它们提供的一大优点是允许您添加或删除类,而不会影响其他类名称集。

attr() 方法使用如下内容:

document.getElementById("MyElementID")[name] = value;

对于只需要一个类名的情况,属性方法可能会更快。不过,我个人认为 addClass 方法更优雅,并且如果您将来需要添加更多类名,也更容易适应。

关于javascript - 是否有使用 jQuery 设置元素类的首选方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6055242/

相关文章:

javascript - 未捕获的 TypeError : i. dateFormat 不是 jquery.datetimepicker.min.js:2 处的函数(匿名)

javascript - jQuery 需要返回整个对象而不仅仅是包含数据

javascript - 选择要隐藏的所有子元素,但不会在单击时取消隐藏所有元素

CSS3 多列和位置 :absolute

javascript - 如何在 for 循环中为文本设置动画?

javascript - 如何复制 html 格式单元格的数据而不是标记

javascript - 使用点符号字符串访问对象子属性

javascript - Microsoft.XMLDOM js 问题

javascript - 从网页向服务器传递参数(Flask)

html - 不使用 jQuery 的可折叠类别列表