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

من موسوعة حسوب
< jQuery‏ | jQuery
مراجعة 15:56، 30 يونيو 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إضافة محتويات الصفحة.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

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>

مصادر