9

我想检查是否已将 jQuery 数据值应用于对象。例如,其他地方的代码可能会将数据分配给对象:

$myObject.data('hello','world');

在其他地方,我想检查是否为数据属性 hello 赋予了值。

处理这个问题的正确方法是什么?.hasData似乎是显而易见的选择,但似乎不像“hasClass”那样工作,因为您似乎无法将特定的数据元素名称传递给它。

4

3 回答 3

16

要获得属性(例如用于比较),请使用.data一个参数:

$myObject.data('hello')

undefined当数据不存在时返回值。

于 2012-04-27T22:07:35.423 回答
9

检查数据是否存在,如果不存在则设置。

if ($myObject.data('hello') === undefined) {
    // data NOT set
    $myObject.data('hello','world');
} else {
    // data IS set
}
于 2013-12-12T01:33:16.440 回答
-3

你也可以试试:

$myObject.hasData("hello")

如果有数据则返回 true,如果没有则返回 false。jQuery网站上的链接:http: //api.jquery.com/jquery.hasdata/

于 2014-09-11T20:49:30.907 回答