jQuery & jQuery UI Documentation

jQuery & jQuery UI

jQuery.hasData()

jQuery.hasData( element ) Returns: Boolean

Description: Determine whether an element has any jQuery data associated with it.

  • version added: 1.5jQuery.hasData( element )

    elementA DOM element to be checked for data.

The jQuery.hasData() method provides a way to determine if an element currently has any values that were set using jQuery.data(). If no data is associated with an element (there is no data object at all or the data object is empty), the method returns false; otherwise it returns true.

The primary advantage of jQuery.hasData(element) is that it does not create and associate a data object with the element if none currently exists. In contrast, jQuery.data(element) always returns a data object to the caller, creating one if no data object previously existed.

Example:

Set data on an element and see the results of hasData.

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-1.7rc2.js"></script>
</head>
<body>
  <p>Results: </p>
<script>
$(function(){
  var $p = jQuery("p"), p = $p[0];
  $p.append(jQuery.hasData(p)+" "); /* false */
  jQuery.data(p, "testing", 123);
  $p.append(jQuery.hasData(p)+" "); /* true*/
  jQuery.removeData(p, "testing");
  $p.append(jQuery.hasData(p)+" "); /* false */
});
</script>

</body>
</html>