2008-08-25 12 views
22

मैंने John Resig's fast new selector engine named Sizzle की खबरें कुछ जगहों पर पॉप अप की हैं, लेकिन मुझे नहीं पता कि एक चयनकर्ता इंजन क्या है, और न ही किसी भी लेख में यह बताया गया है कि यह क्या है। मुझे पता है कि रेजिग jQuery का निर्माता है, और सिज़ल जावास्क्रिप्ट में कुछ है, लेकिन उससे परे मुझे नहीं पता कि यह क्या है। तो, एक चयनकर्ता इंजन क्या है?चयनकर्ता इंजन क्या है?

धन्यवाद!

उत्तर

46

किसी चयनकर्ता इंजन का उपयोग किसी विशेष प्रकार के क्वेरी (आमतौर पर सीएसएस वाक्यविन्यास या इसी तरह) के आधार पर किसी विशेष पृष्ठ के लिए किसी पृष्ठ के DOM से पूछताछ करने के लिए किया जाता है।

उदाहरण के लिए, इस jQuery:

$('div') 

के लिए खोज और पृष्ठ पर <div> सभी तत्वों के लौट आते हैं। यह ऐसा करने के लिए jQuery के चयनकर्ता इंजन का उपयोग करता है।

चयनकर्ता इंजन को अनुकूलित करना एक बड़ा सौदा है क्योंकि इन ढांचे के साथ आप जो भी ऑपरेशन करते हैं, वह किसी प्रकार की डोम क्वेरी पर आधारित होता है।

2

इसके अलावा, सिज़ल इंजन है जॉन रेजिग वर्तमान में jQuery के पहले से ही शानदार चयनकर्ता इंजन को बदलने के लिए काम कर रहा है।

18

एक चयनकर्ता इंजन एक जावास्क्रिप्ट लाइब्रेरी है जो आपको पहचानने के लिए किसी प्रकार की स्ट्रिंग का उपयोग करके डीओएम पेड़ में तत्वों को चुनने देता है (डीओएम तत्वों के लिए नियमित अभिव्यक्तियों को सोचें)। अधिकांश चयनकर्ता इंजन CSS3 के चयनकर्ताओं के कुछ बदलाव का उपयोग वाक्यविन्यास इसलिए, उदाहरण के लिए, आप की तरह कुछ लिख सकते हैं:

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

वर्ग firstParagraph साथ दस्तावेज़ में सभी पी तत्वों का चयन करें।

कुछ चयनकर्ता इंजन XPath के आंशिक कार्यान्वयन और यहां तक ​​कि कुछ कस्टम वाक्यविन्यास का भी समर्थन करते हैं। उदाहरण के लिए, jQuery आपको लिखने देता है:

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

दस्तावेज़ में लॉगिन फ़ॉर्म में सभी चेक किए गए चेक बॉक्स का चयन करने के लिए।

+0

मुझे लगता है, आपको बस अपने पृष्ठ में "जेएस" फ़ाइल शामिल करने की आवश्यकता है। क्या आपको इसका उपयोग करने के लिए JQuery या किसी अन्य लाइब्रेरी की आवश्यकता है? – Tebo

6

एक चयनकर्ता इंजन एक विशिष्ट तत्व की तलाश में डोम को पार करने का एक तरीका है।

चयनकर्ता इंजन में बनाया गया एक का एक उदाहरण:

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

अच्छा उदाहरण 'अंतर्निहित चयनकर्ता इंजन' के लिए धन्यवाद, मैंने कुछ जवाब पढ़े और अभी भी मुझसे पूछते हैं, 'getElementById' एक चयनकर्ता इंजन है या नहीं (ऐसा लगता है, लेकिन बहुत स्पष्ट है इसलिए कोई भी उल्लेख नहीं करता है: डी) – hqt

1

एक चयनकर्ता इंजन एक दस्तावेज़ में तत्वों, उसी तरह सीएसएस स्टाइलशीट करता है खोजने के लिए प्रयोग किया जाता है। वर्तमान में केवल सफारी में अंतर्निहित क्वेरी हैइलेक्टर सभी फ़ंक्शन जो केवल यही करता है। अन्य ब्राउज़र के साथ आपको बाहरी जावास्क्रिप्ट कार्यान्वयन LlamaLab Selector या इसके बजाय Sizzle के रूप में उपयोग करना होगा।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^