دليل مرجعي سريع للتنقل في شجرة DOM، ومحددات الفئات الزائفة المخصصة، وخطافات معالجة العناصر في jQuery.
التنقل في شجرة DOM (DOM Traversal)
$(.box)
.children(p) // الأبناء المباشرون المطابقون للمحدد
.closest(div) // أقرب عنصر سلف (ancestor) مطابق للمحدد
.filter(:selected) // تقليص المجموعة للعناصر المطابقة فقط
.find(span) // جميع الأحفاد (descendants) المطابقين للمحدد
.has(ul) // العناصر التي تحتوي على أحفاد مطابقين
.first() // العنصر الأول في المجموعة المطابقة
.next(div) // العنصر الشقيق التالي مباشرة
.nextUntil(footer) // جميع الأشقاء التاليين حتى الوصول للمحدد
.parent() // العنصر الأب المباشر
.siblings() // جميع العناصر الشقيقة
محددات مخصصة متقدمة (Custom Selectors)
توسيع تعبيرات الفئات الزائفة في jQuery:
// محدد مخصص ":inline"
$.expr[:].inline = function (el) {
return $(el).css(display) === inline
}
// طريقة الاستخدام
$(span:inline).addClass(highlight)
خطافات CSS المخصصة (Custom CSS Hooks)
اعتراض عمليات قراءة وكتابة خصائص الأنماط عبر $.cssHooks:
$.cssHooks.someCustomProp = {
get: function (elem, computed, extra) {
return $.css(elem, transform)
},
set: function (elem, value) {
elem.style.transform = value
}
}
// التعامل مع الخاصية المخصصة دون إضافة وحدة "px" افتراضية
$.cssNumber["someCustomProp"] = true
خطافات خطوات الرسوم المتحركة (Animation Step Hooks)
$.fn.step.myEffect = function (fx) {
// منطق مخصص لإطارات الرسوم المتحركة البينية
}