2010-05-18 13 views
61

मैं निम्न उदाहरण में प्रतीकों डॉट और हैश की उलझन में:JQuery में डॉट और हैश प्रतीकों का क्या अर्थ है?

<DIV ID="row"> 
<DIV ID="c1">    
<Input type="radio" name="testing" id="testing" VALUE="1">testing1 
</DIV> 
</DIV> 

कोड 1:

$('#row DIV').mouseover(function(){  
    $('#row DIV').addClass('testing'); 
    }); 

कोड 2

$('.row div').mouseover(function(){ 
     $(this).addClass('testing'); 
    });​ 

कोड 1 और 2 नज़र बहुत इसी तरह, और इसलिए यह मुझे इतना उलझन में डाल देता है कि
जब मुझे ".row div" का उपयोग करना चाहिए "#row div" का उपयोग करने के बजाय एक विशिष्ट DIV?

+4

वे सीएसएस चयनकर्ता हैं। Google उन लोगों के साथ आपकी सहायता कर सकता है: http://www.google.com/search?q=css+selectors+tutorial –

+2

@DanielPryden मैं तर्क दूंगा कि एक विशेष ट्यूटोरियल की सिफारिश करना सहायक है - Google खोज की सिफारिश करना, इतना नहीं । – dbliss

उत्तर

86

हैश (#) द्वारा अपने आईडी

डॉट तत्वों का चयन करने के निर्दिष्ट करता है उनके classname द्वारा तत्वों का चयन करने के

आप चयनकर्ताओं के बारे में अधिक पढ़ सकते हैं निर्दिष्ट करता है (।): http://api.jquery.com/category/selectors/basic-css-selectors/

+7

इसके अतिरिक्त, '#' और '.' वही हैं जो वे सीएसएस में हैं। JQuery और सीएसएस के बीच xref को इंगित करने के लिए – Powerlord

4

"।" एक वर्ग को संदर्भित करता है, जबकि "#" आईडी को संदर्भित करता है।

<table id="table"> 
    <tr class="odd"></tr> 
    <tr></tr> 
    <tr class="odd"></tr> 
</table> 

$ ("# तालिका"), पूर्ण तालिका वस्तु मिलता है जबकि $ ("। अजीब") वर्ग "अजीब" के साथ सब कुछ मिल जाएगा। $ ("tr.odd") केवल उस वर्ग के साथ तालिका पंक्तियां प्राप्त करेगा।

1

.कक्षा निर्दिष्ट करता है जिसे "पंक्ति" कहा जाता है। # एक आईडी निर्दिष्ट करता है जिसे "पंक्ति" कहा जाता है।

19

$ ('। पंक्ति') के साथ class="row"

$ ('# पंक्ति') किसी भी तत्व का चयन id=row

Check the jQuery page on selectors साथ तत्व का चयन करेंगे।

+3

और पूर्णता के लिए: '$ ('पंक्ति')' किसी भी '' तत्व का चयन करेगा। –

5

ये सीएसएस चयनकर्ता हैं।

हैश प्रतीक # का अर्थ है कि तत्व एक आईडी है। तो #row<div id="row"> से मेल खाता है।

वैकल्पिक रूप से, डॉट प्रतीक . का अर्थ है कि तत्व एक सीएसएस वर्ग है। तो .row<div class="row"> से मेल खाता है।

W3C पर अधिक जानकारी है।

+0

+1 - मुझे यकीन है कि jQuery लेखकों ने इन चयनकर्ताओं को जानबूझकर सीएसएस के मौजूदा मानक में मैप करने के लिए चुना है। – GalacticCowboy

+0

jQuery वास्तव में sizzle का उपयोग करता है जो जावास्क्रिप्ट में एक सीएसएस चयनकर्ता इंजन है: http://sizzlejs.com/ – ordnungswidrig

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