2015-10-02 9 views
5

नीचे दिए गए कोड में, a[href^="/"] एक नियमित अभिव्यक्ति है?'एक [href^= "/"]' का अर्थ क्या है?

इसमें ^ प्रतीक क्यों है और यह क्या करता है?

कौन से क्लिक ईवेंट इसे प्रतिसाद देंगे/नहीं करेंगे?

$(document).on('click', 'a[href^="/"]', function(e) { 
    e.preventDefault(); 
    var href = $(e.currentTarget).attr('href'); 
    console.log('click ' + href); 
    Backbone.history.navigate(href, { trigger: true }); 
}); 

(code source)

+2

[? डुप्लिकेट] (http://stackoverflow.com/questions/11216134/what-does-this-jquery-code-with-square-brackets-and-a-caret- मतलब) – Firedrake969

+0

समानताएं हैं लेकिन प्रश्न बिल्कुल समान नहीं हैं। – Leahcim

+0

प्रश्न अनिवार्य रूप से वही हैं - "'^= 'मतलब क्या है?" – Firedrake969

उत्तर

11

प्र नीचे कोड में, a[href^="/"] एक रेगुलर एक्सप्रेशन है?

आर। नहीं, यह नियमित अभिव्यक्ति नहीं है। यह एक (सीएसएस आधारित) jQuery selector है।

प्रश्न: इसमें^प्रतीक क्यों है और यह क्या करता है?

इसमें यह प्रतीक है क्योंकि इसका अर्थ startsWith है।

प्रश्नोत्तर। कौन से क्लिक ईवेंट यह प्रतिक्रिया देंगे/नहीं?

आर यह किसी भी a कोड है तो एक href विशेषता है कि / साथ शुरू होता है का जवाब देंगे।


नोट: कि रीढ़ कोड शायद कि चयनकर्ता का उपयोग कर रहा है वेबसाइट के सभी आंतरिक लिंक मिलता है और उनके व्यवहार को बदलने ग्राहक नेविगेशन करने के लिए है, जबकि बाहरी लिंक http/https के साथ शुरू होगा।

+0

मैं इसे एक सीएसएस चयनकर्ता नहीं कहूंगा, क्योंकि इसका उपयोग सीएसएस संदर्भ में नहीं किया जाता है, हालांकि मैं सहमत हूं कि वाक्यविन्यास सीएसएस से निकलता है। –

+0

@AlbertXing आप सही हैं, वास्तव में यह सीएसएस चयनकर्ता के आधार पर एक jQuery चयनकर्ता है। मेरा जवाब अपडेट किया गया। – Buzinas

+0

आंतरिक/बाहरी लिंक भेदभाव के बारे में अच्छी बात (ओपी के विस्तृत उत्तर के अतिरिक्त) – Leahcim

2

^चिह्न दर्शाता है कि घटना किसी भी लिंक है कि/

2

a[href^="/"] साथ शुरू होता है निष्पादित करेंगे एक चयनकर्ता है:

चयनकर्ता पैटर्न है कि एक पेड़ में तत्वों के खिलाफ मेल खाते हैं, और इस तरह के रूप के रूप में कई तकनीकों का उपयोग किया जा सकता है जिनका उपयोग किसी XML दस्तावेज़ में नोड्स का चयन करने के लिए किया जा सकता है। चयनकर्ताओं को एचटीएमएल और एक्सएमएल के उपयोग के लिए अनुकूलित किया गया है, और प्रदर्शन-महत्वपूर्ण कोड में उपयोग करने योग्य बनाने के लिए डिज़ाइन किए गए हैं।

^ प्रतीक तरह regex ^ लंगर के साथ की इसी तरह की है, हालांकि यह वास्तव में एक नियमित अभिव्यक्ति नहीं है। इसका उपयोग एक विशिष्ट विशेषता चयनकर्ता के रूप में किया जा रहा है:

6.3.2। सबस्ट्रिंग मिलान विशेषता चयनकर्ताओं

तीन अतिरिक्त विशेषता चयनकर्ताओं एक विशेषता के मान में सबस्ट्रिंग मिलान के लिए प्रदान की जाती हैं:

[att^= वैल]

att विशेषता जिसका मूल्य के साथ शुरू होता के साथ एक तत्व का प्रतिनिधित्व करता है उपसर्ग "वैल"। यदि "वैल" खाली स्ट्रिंग है तो चयनकर्ता कुछ भी प्रस्तुत नहीं करता है।

[att $ = वैल]

att विशेषता जिसका मूल्य प्रत्यय "वैल" के साथ समाप्त होता के साथ एक तत्व का प्रतिनिधित्व करता है। यदि "वैल" खाली स्ट्रिंग है तो चयनकर्ता कुछ भी प्रस्तुत नहीं करता है।

[att * = वैल]

att विशेषता जिसका मान-स्ट्रिंग "वैल" कम से कम एक उदाहरण में शामिल है के साथ एक तत्व का प्रतिनिधित्व करता है। यदि "वैल" खाली स्ट्रिंग है तो चयनकर्ता कुछ भी प्रस्तुत नहीं करता है।

ये तत्व विशेषताओं के लिए चयनकर्ता हैं (href एक विशेषता है)।

W3C कल्पना: Selectors Level 3

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