是否有必要检查元素是否具有属性?

时间:2015-05-06 19:35:08

标签: javascript jquery html

我在HTML元素中使用数据属性

示例:

<div class="fruit" data-color="red">...</div>

在jQuery中我使用$(this).data("color")获取数据属性并添加它有一个类名称。

在将数据属性添加为类之前,是否有必要首先验证数据属性是否存在?例如:

// $(this) is .fruit div
if ( $(this).data("color") ) {
   $(this).addClass($(this).data("color")); //adds data value as class to element
}

或者jQuery会处理吗?我尝试在没有if语句的情况下运行代码,如果元素没有&#34; color&#34;我没有收到任何错误。数据属性。我猜测jQuery只是忽略了它。

1 个答案:

答案 0 :(得分:5)

jQuery为你处理这个问题 - 实际上它对大多数方法参数的接受程度都非常强大,而不会产生任何错误。

在这种情况下,如果找不到data属性(或没有值),它将返回undefined。如果你然后addClass(undefined) jQuery将不对所选元素执行任何操作。