在 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/