سؤال

لقد رأيت أخبارا محرك التحديد السريع الجديد لـ John Resig يُسمى Sizzle ينبثق في عدد لا بأس به من الأماكن، لكنني لا أعرف ما هو محرك التحديد، ولم تقدم أي من المقالات شرحًا لما هو عليه.أعلم أن Resig هو منشئ jQuery، وأن Sizzle هو شيء موجود في Javascript، لكن أبعد من ذلك لا أعرف ما هو.إذًا، ما هو محرك التحديد؟

شكرًا!

هل كانت مفيدة؟

المحلول

يتم استخدام محرك التحديد للاستعلام عن عناصر معينة في DOM الخاص بالصفحة، استنادًا إلى نوع ما من الاستعلام (عادةً بناء جملة CSS أو ما شابه).

على سبيل المثال، هذا jQuery:

$('div')

سيتم البحث عن جميع عناصر <div> الموجودة في الصفحة وإرجاعها.ويستخدم محرك محدد jQuery للقيام بذلك.

يعد تحسين محرك المحدد أمرًا مهمًا لأن كل عملية تقوم بها تقريبًا باستخدام هذه الأطر تعتمد على نوع ما من استعلام DOM.

نصائح أخرى

محرك التحديد عبارة عن مكتبة جافا سكريبت تتيح لك تحديد العناصر في شجرة DOM باستخدام نوع من السلاسل لتحديدها (فكر في التعبيرات العادية لعناصر DOM).تستخدم معظم محركات المحددات بعض الاختلافات في بناء جملة محددات CSS3، لذلك، على سبيل المثال، يمكنك كتابة شيء مثل:

var paragraphs = selectorengine.select('p.firstParagraph')

لتحديد كافة عناصر P في المستند مع الفئة firstParagraph.

تدعم بعض محركات التحديد أيضًا التنفيذ الجزئي لـ XPath، وحتى بعض تركيبات الجملة المخصصة.على سبيل المثال، يتيح لك jQuery كتابة:

var checkedBoxes = jQuery('form#login input:checked')

لتحديد جميع خانات الاختيار المحددة في نموذج تسجيل الدخول في المستند.

محرك التحديد هو وسيلة لاجتياز DOM بحثًا عن عنصر محدد.

مثال على محرك محدد مدمج:

var foo = document.getElementById('foo');

أيضًا، Sizzle هو المحرك الذي يعمل عليه John Resig حاليًا ليحل محل محرك المحدد الرائع بالفعل في jQuery.

يتم استخدام محرك التحديد للعثور على العناصر في المستند، بنفس الطريقة التي تستخدمها أوراق أنماط CSS.في الوقت الحالي، يحتوي Safari فقط على وظيفة querySelectorAll المضمنة التي تقوم بذلك.مع متصفح آخر، يتعين عليك استخدام تطبيقات JavaScript خارجية محدد لاما لاب أو أزيز بدلاً من ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top