我想检查是否已将 jQuery 数据值应用于对象。例如,其他地方的代码可能会将数据分配给对象:
$myObject.data('hello','world');
在其他地方,我想检查是否为数据属性 hello 赋予了值。
处理这个问题的正确方法是什么?.hasData
似乎是显而易见的选择,但似乎不像“hasClass”那样工作,因为您似乎无法将特定的数据元素名称传递给它。
我想检查是否已将 jQuery 数据值应用于对象。例如,其他地方的代码可能会将数据分配给对象:
$myObject.data('hello','world');
在其他地方,我想检查是否为数据属性 hello 赋予了值。
处理这个问题的正确方法是什么?.hasData
似乎是显而易见的选择,但似乎不像“hasClass”那样工作,因为您似乎无法将特定的数据元素名称传递给它。
要获得属性(例如用于比较),请使用.data
一个参数:
$myObject.data('hello')
undefined
当数据不存在时返回值。
检查数据是否存在,如果不存在则设置。
if ($myObject.data('hello') === undefined) {
// data NOT set
$myObject.data('hello','world');
} else {
// data IS set
}
你也可以试试:
$myObject.hasData("hello")
如果有数据则返回 true,如果没有则返回 false。jQuery网站上的链接:http: //api.jquery.com/jquery.hasdata/