jQuery.hasData()

jQuery.hasData(element)

确定任何一个元素是否有与之相关的jQuery数据。

jQuery.hasData(element)
  • element 类型: Element 。一个用于进行检查数据的DOM元素。

jQuery.hasData(element) 的主要优点是它并不创建 data 对象。如果元素上没有 data 对象,那么该方法也不会与元素上的 data 对象关联。相反, jQuery.data(element) 总是向调用者返回一个 data 对象,即使该元素上不含有 data 对象,它也会创建一个。

请注意,jQuery的事件系统是使用jQuery数据存储事件处理程序的。因此,使用 .on() , .bind() , .live() , .delegate() ,或一个速记事件方法绑定事件到一个元素上的时候,也会在那个元素上关联一个 data 对象。

例子

元素上设置数据,看到hasData的结果。

<!DOCTYPE html>
<html>
<head>
  <script src="./static/js/jquery-3.5.0.js"></script>
</head>
<body>
  <p>Results: </p>
<script>
var $p = jQuery("p"), p = $p[0];
$p.append(jQuery.hasData(p)+","); /* false */
 
$.data(p, "testing", 123);
$p.append(jQuery.hasData(p)+","); /* true*/
 
$.removeData(p, "testing");
$p.append(jQuery.hasData(p)+","); /* false */
 
$p.on('click', function() {});
$p.append(jQuery.hasData(p)+","); /* true */
 
$p.off('click');
$p.append(jQuery.hasData(p)); /* false */
 
</script>
 
</body>
</html>

Results: