我在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只是忽略了它。
答案 0 :(得分:5)
jQuery为你处理这个问题 - 实际上它对大多数方法参数的接受程度都非常强大,而不会产生任何错误。
在这种情况下,如果找不到data
属性(或没有值),它将返回undefined
。如果你然后addClass(undefined)
jQuery将不对所选元素执行任何操作。