التابع ‎‎jQuery.hasData()‎‎ في jQuery

من موسوعة حسوب
< jQuery‏ | jQuery
اذهب إلى التنقل اذهب إلى البحث
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

jQuery.hasData( element )‎

القيم المعادة

يعيد قيمةً منطقيَّةً (Boolean).

الوصف

يتحقَّق هذا التابع إن كان يملك عنصرٌ محدَّدٌ أيَّةَ بياناتٍ مرتبطةٍ به.

jQuery.hasData( element )‎

أُضيفت مع الإصدار: 1.5.

element

عنصر DOM يراد التحقُّق من وجود بيانات مرتبطة به.

يوفِّر التابع jQuery.hasData()‎ وسيلةً لتحديد إن كان العنصر الحالي يملك أيَّة بيانات رُبطَت به باستعمال التابع jQuery.data()‎. إن لم يكن هنالك بيانات مرتبطة بهذا العنصر، فسعيد التابع القيمة false. خلا ذلك، سيعيد التابع القيمة true.

الميِّزة الأساسية للتابع jQuery.hasData( element )‎ هي أنَّه لا يُنشئ ولا يربط أيَّة بيانات بالعنصر المراد التحقُّق منه إن لم يملك هذا العنصر أيَّة بيانات مرتبطة به مسبقًا. على النقيض، نجد أنَّ التابع jQuery.data( elemetn )‎ ينشئ بيانات ويربطها بالعنصر إن لم يكن يملك أيًّا منها مسبقًا.

انتبه إلى أنَّ نظام أحداث jQuery يستعمل واجهة البيانات البرمجيَّة في jQuery لتحزين معالجات الأحداث، لذا يؤدِّي ربط حدث بعنصرٍ عبر استعمال ‎.on()‎، أو ‎.bind()‎، أو ‎.live()‎، أو ‎.delegate()‎، أو أحد توابع الأحداث المختصرة (مثل ‎(.mouseleave()‎ إلى إرفاق بيانات بهذا العنصر.

أمثلة

ربط بيانات بعنصرٍ وحذفها ثمَّ استدعاء التابع jQuery.hasData()‎ لتتحقُّق من وجود بيانات مرتبطة به:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery.hasData مثالٌ عن استعمال التابع</title>
  <script src="https://code.jquery.com/jquery-1.10.2.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>

مصادر