مطالعة jQuery - طريقة not()
مثال
إزالة الفقرة التي تحتوي على id "selected" من مجموعة جميع الفقرات:
$("p").not("#selected")
التعريف والاستخدام
الإزالة() إزالة العنصر من مجموعة العناصر التي تتطابق معها.
النصاب 1
.not(selector)
المواضيع | وصف |
---|---|
selector | قيمة النص، تحتوي على تعبير المبدأ المستخدم لتحديد العناصر. |
النصاب 2
.not(element)
المواضيع | وصف |
---|---|
element | عنصر أو عدة عناصر يجب إزالتها من مجموعة التصفية. |
النصاب 3
.not(function(index))
المواضيع | وصف |
---|---|
function(index) | الدالة المستخدمة للتحقق من كل عنصر في المجموعة. this هو العنصر DOM الحالي. |
شرح مفصل
إذا تم تقديم jQuery Object يمثل مجموعة من عناصر DOM، ستجعل الطريقة .not() jQuery Object جديدًا يتكون من مجموعة فرعية من العناصر التي تتطابق مع العنصر. سيتم فحص العنصر الذي يتم تطبيق عليه المبدأ لكل عنصر؛ سيتم تضمين العناصر التي لا تتطابق مع المبدأ في النتيجة.
فكر في الصفحة التالية التي تحتوي على قائمة بسيطة:
<ul> <li>نقطة القائمة 1</li> <li>نقطة القائمة 2</li> <li>نقطة القائمة 3</li> <li>نقطة القائمة 4</li> <li>نقطة القائمة 5</li> </ul>
يمكننا تطبيق هذا الأسلوب على مجموعة النقاط في القائمة:
$('li').not(':even').css('background-color', 'red');
سيؤدي هذا النداء إلى تعيين خلفية المشروع 2 و 4 إلى اللون الأحمر، لأنها لا تتطابق مع المبدأ (تذكر، :even و :odd تستخدمما أرقام الأنماط الأساسية).
إزالة العناصر المحددة
النسخة الثانية من الطريقة .not() تسمح لنا بإزالة العناصر من مجموعة التصفية، على افتراض أننا وجدنا هذه العناصر من قبل بوسائل أخرى. على سبيل المثال، تخيل أن القائمة بالفعل قد تطبقت id على أحد العناصر.
<ul> <li>نقطة القائمة 1</li> <li>نقطة القائمة 2</li> <li id="notli">نقطة القائمة 3</li> <li>نقطة القائمة 4</li> <li>نقطة القائمة 5</li> </ul>
يمكننا استخدام دالة JavaScript الأصلية getElementById() لقراءة العنصر الثالث من القائمة، ثم إزالته من الجسم jQuery:
$('li').not(document.getElementById('notli')).css('background-color', 'red');
تغير هذا الجملة لون الخلفية للمشاريع 1، 2، 3 و 5. يمكننا استخدام تعبير jQuery بسيط للقيام بذلك، ولكن يمكن أن تكون هذه التقنية مفيدة عند تقديم مكتبات أخرى لمساعدتك على الحصول على مراجع العناصر DOM النقية.
لـ jQuery 1.4، يمكن استخدام الدالة كمعامل للـ .not()، مثل .filter(). سيتم استبعاد العناصر التي تعود الدالة الخاصة بها إلى الحقيقة من مجموعة التصفية؛ سيتم تضمين جميع العناصر الأخرى.