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

من موسوعة حسوب

‎.removeData( [name ] )‎

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

يعيد كائنًا من النوع jQuery.

الوصف

يحذف هذا التابع جزءًا من البيانات المخزَّنة مسبقًا.

‎.removeData( [name ] )‎

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

name

سلسلة نصيِّة تمثِّل اسم جزء البيانات المراد حذفها.

‎.removeData( [list ] )‎

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

list

مصفوفة أو سلسلة نصية تحتوي على أسماء أجزاء البيانات المراد حذفها، وتفصل الأسماء في السلسلة النصية بفراغ.

يسمح لنا التابع ‎.removeData()‎ بحذف القيم التي ضُبطت مسبقًا باستعمال التابع ‎.data()‎. إن مرِّر إلى التابع اسم مفتاح الجزء المراد حذفه، فستُحذف تلك القيم المحدَّدة فقط. إن لم يمرَّر إلى التابع أي وسيط، فستُحذف جميع القيم.

الجدير بالذكر أنَّ التابع ‎.removeData()‎ سيحذف البيانات من مخزن البيانات الداخلي في jQuery فقط، بينما لن يحذف أية خاصِّيَّات (attributes) مقابلة تبدأ بالاسم data-‎ في العنصر. الاستدعاء اللاحق للتابع data()‎ سيسترجع القيمة من الخاصِّيَّة data-‎؛ ولمنع ذلك، يجب استعمال التابع ‎.removeAttr()‎ والتابع ‎.removeData()‎ جنبًا إلى جنب لحذف الخاصِّيَّات data-‎ أيضًا. بما أنَّه لم يستعمل التابع data()‎ الخاصِّيَّات data-‎ قبل الإصدار jQuery 1.4.3، فلم يكن لهذا الأمر أي أهمية تذكر.

بدءًا من الإصدار jQuery 1.7، أصبح بالإمكان تمرير مصفوفة من المفاتيح أو سلسلة من المفاتيح المفصولة بفراغ إلى التابع ‎.removeData()‎، وهذا سيؤدي بدوره إلى حذف قيمة كل مفتاح معطى في تلك المصفوفة أو السلسلة.

أمثلة

تعيين مخزن بيانات لاسمين ثمَّ حذف أحدهما:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>removeData مثالٌ عن استعمال التابع</title>
  <style>
  div {
    margin: 2px;
    color: blue;
  }
  span {
    color: red;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
 
<div>القيمة الأولى قبل إنشائها: <span></span></div>
<div>القيمة الأولى بعد إنشائها: <span></span></div>
<div>القيمة الأولى بعد حذفها: <span></span></div>
<div>القيمة الثانية بعد حذفها: <span></span></div>
 
<script>
$( "span:eq(0)" ).text( "" + $( "div" ).data( "test1" ) );
$( "div" ).data( "test1", "VALUE-1" );
$( "div" ).data( "test2", "VALUE-2" );
$( "span:eq(1)" ).text( "" + $( "div").data( "test1" ) );
$( "div" ).removeData( "test1" );
$( "span:eq(2)" ).text( "" + $( "div" ).data( "test1" ) );
$( "span:eq(3)" ).text( "" + $( "div" ).data( "test2" ) );
</script>
 
</body>
</html>

نتيجة تنفيذ المثال السابق هي:

القيمة الأولى قبل إنشائها: undefined
القيمة الأولى بعد إنشائها: VALUE-1
القيمة الأولى بعد حذفها: undefined
القيمة الثانية بعد حذفها: VALUE-2

مصادر