jQuery.hasData( element )Возвращает: Boolean
Описание: Определяет, имеет ли элемент какие-либо данные jQuery, связанные с ним.
-
версия добавлена: 1.5jQuery.hasData( element )
- elementТип: ElementЭлемент DOM, который нужно проверить на наличие данных.
-
Метод jQuery.hasData() предоставляет способ определить, есть ли у элемента какие-либо значения, установленные с помощью jQuery.data(). Если с элементом не связан объект данных, метод возвращает false; в противном случае возвращает true.
Основное преимущество jQuery.hasData(element) заключается в том, что он не создает и не связывает с элементом объект данных, если он не существует. В отличие от jQuery.data(element), который всегда возвращает объект данных вызывающему коду, создавая его, если ранее объекта данных не существовало.
Обратите внимание, что система событий jQuery использует API данных jQuery для хранения обработчиков событий. Поэтому привязка события к элементу с помощью .on(), .bind(), .live(), .delegate(), или одного из сокращенных методов событий также связывает с этим элементом объект данных.
Пример:
Установите данные на элементе и увидите результаты hasData.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery.hasData demo</title>
<script src="https://code.jquery.com/jquery-3.7.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>