使用jQuery添加类更好的做法是什么?

时间:2012-02-01 21:29:08

标签: javascript jquery html

$("#" + parentElementId + " label").attr("class", "disabled")

VS

$('#radiolabel').addClass('disabled');

哪些是优点和缺点?

由于

4 个答案:

答案 0 :(得分:13)

两者不一样。使用attr将替换整个属性。 addClass会将类添加到现有类中。

顾名思义addClass是为了这个特定的目的,所以我会使用它。

答案 1 :(得分:3)

我会去addClass,它更容易阅读,如果您的编辑器支持代码完成,也可以更快地输入。

答案 2 :(得分:3)

以下两种方法有以下优点:

addClass("disabled")优点:

  1. 如果您的对象上有其他类,addClass()将在添加新类时保留这些类。我几乎总是希望保留使用其他类来解决CSS样式或常见选择器原因的能力,因此addClass()可以添加disabled类,而不会因为其他原因而干扰同一对象上的其他类
  2. 代码读起来更加不言自明,因为名称addClass()告诉某人正在阅读代码正是在做什么。
  3. addClass()自动管理类名之间的分隔符,这样当你有多个类名时就不会有额外的分隔符累积,只要你获得当前的类名并用字符串操作自己添加它。
  4. attr("class") = "disabled"优点:

    1. 如果您只想在对象上使用一个类名,则这一个语句可确保您只有一个类名。
    2. 直接分配一个类可能比addClass()更快,后者必须首先检查那里有什么,并将类添加到jQuery与正则表达式匹配的预先存在的类中。最大速度实际上是element.className =“disabled”(根本没有jQuery)。

答案 3 :(得分:1)

你最好选择addClass(),这样可以节省时间和写作,并提高效率。