المحدد ‎‎‎:gt()‎‎ في jQuery

من موسوعة حسوب
مراجعة 14:35، 28 مايو 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

المحدد ‎:gt()‎

الوصف

يحدِّد كل العناصر التي لها فهرس (index) أكبر من المعامل index المعطى داخل المجموعة المطابقة.

jQuery(" :gt(index) ")‎

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

index

فهرس صفري للعنصر المراد مطابقته.

jQuery( ":gt(-index)" )‎

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

indexFromEnd

فهرس صفري، معدود تنازليًا من العنصر الأخير.

المحددات المتعلقة بالفهرس (index-related selectors)

تنتقي المحددات المتعلقة بالفهرس مجموعةً من العناصر التي تطابقت مع التعابير سابقًا. إذ تقلِّص العناصر بناءً على ترتيبها في المجموعة المتطابقة. لنفترض مثلا أنه حُدِّدت أولًا العناصر الموجودة في محدد الصنف (‎.myclass) وأُعيدت آنذاك أربعة عناصر، فستكون فهارس هذه العناصر هي من 0 وحتى 3 من أجل أن يستعملها هذا النوع من المحددات (المحددات المتعلقة بالفهرس).

لاحظ بما أن فهارس المصفوفات في الجافاسكربت تبدأ من الصفر، فإن المحددات في jQuery تسلك ذلك السلوك أيضًا. هذا يفسر لماذا يختار المحدد عند استعماله بالشكل ‎$('.myclass :gt(1)')‎ العناصر التي تقع بعد العنصر الثاني المتواجدة في الصفحة وذات الصنف myclass وليس أول عنصر. لكن في المقابل، المُحدِّد ‎:nth-child() يبدأ العدّ من الفهرس 1، وذلك كي يوافق مواصفة CSS.

لم يكن المحدد ‎:gt()‎ قبل jQuery 1.8 يقبل قيمة سالبة للمعامل index.

ملاحظات إضافية

لمّا كان المحدد ‎:gt()‎ هو ملحق تابع لمكتبة jQuery وليس جزءًا من مواصفة CSS، فإن الاستعلامات التي تستعمل ‎:gt()‎ لا يمكنها الاستفادة من سرعة الأداء التي يوفرها تابع DOM الأصلي querySelectorAll()‎. للحصول أداء أفضل في المتصفحات الحديثة، استعمل ‎$("your-pure-css-selector").slice(index)‎ بدلًا من ذلك.

أمثلة

جعل لون خلفية العنصر TD #5 ومابعده صفراء، وجعل لون النص للعنصر TD #8 أحمر:

 <!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>gt demo</title>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
<table border="1">
  <tr><td>TD #0</td><td>TD #1</td><td>TD #2</td></tr>
  <tr><td>TD #3</td><td>TD #4</td><td>TD #5</td></tr>
  <tr><td>TD #6</td><td>TD #7</td><td>TD #8</td></tr>
</table>
<script>
$( "td:gt(4)" ).css( "backgroundColor", "yellow" );
$( "td:gt(-2)" ).css( "color", "red" );
</script>
</body>
</html>

مصادر