2010-07-21 14 views

उत्तर

3

यह जो भी मामला सेट किया गया था, वह मूल्य वापस कर देगा।

<div class="sOmEcLaSs">content</div> 

alert($('div').attr('class')​​​​);​​​​ // will alert sOmEcLaSs 

आप छोटे अक्षरों पर परिवर्तित करना चाहते हैं, तो आप .toLowerCase() उपयोग कर सकते हैं।

alert($('div').attr('class').toLowerCase());​​​​ // will alert someclass 

jQuery के attr वापसी बयान (कड़ाके की धूप नहीं) के लिए कोड:

http://github.com/jquery/jquery/blob/1.4.2/src/attributes.js#L308

या

http://github.com/jquery/jquery/blob/1.4.2/src/attributes.js#L325

2

नहीं क्योंकि .attr जावास्क्रिप्ट .getAttribute प्रणाली को बुलाती है के बग़ैर कोई पैरामीटर जैसा कि आप कोड में देख सकते हैं।

getAttribute 0 पर डिफ़ॉल्ट है जो केस-असंवेदनशील है, इसलिए यह ठीक से लौटाता है जो इसे पाता है।

 ATTR: function(elem, match){ 
      var name = match[1], 
       result = Expr.attrHandle[ name ] ? 
        Expr.attrHandle[ name ](elem) : 
        elem[ name ] != null ? 
         elem[ name ] : 
         elem.getAttribute(name), 
       value = result + "", 
       type = match[2], 
       check = match[4]; 

      return result == null ? 
       type === "!=" : 
       type === "=" ? 
       value === check : 
       type === "*=" ? 
       value.indexOf(check) >= 0 : 
       type === "~=" ? 
       (" " + value + " ").indexOf(check) >= 0 : 
       !check ? 
       value && result !== false : 
       type === "!=" ? 
       value !== check : 
       type === "^=" ? 
       value.indexOf(check) === 0 : 
       type === "$=" ? 
       value.substr(value.length - check.length) === check : 
       type === "|=" ? 
       value === check || value.substr(0, check.length + 1) === check + "-" : 
       false; 
     }, 
0

jQuery केस-संवेदनशील विशेषता खोजों पर भरोसा नहीं कर सकता है और फिर भी क्रॉस-ब्राउज़र ब्राउज़र संगत हो सकता है। पुराने आईई डोम में, मुझे याद है कि सभी टैग और विशेषताओं को संग्रहीत किया जाता है और ऊपरी मामले में लौटाया जाता है; इसलिए टैग <div id="mydiv"> को आंतरिक रूप से <DIV ID=mydiv> के रूप में प्रस्तुत किया जाता है। तो नेटस्केप या फ़ायरफ़ॉक्स में, विशेषता का नाम id होगा और आईई में यह ID होगा। लेकिन गतिशील रूप से बनाए गए तत्वों के साथ, जो वांछित मामले के साथ संग्रहीत हैं, आईई के भीतर असंगतताएं हैं। उदाहरण के लिए, आईई 6 और आईई 8 getAttribute() के साथ पूरी तरह से अलग व्यवहार करते हैं। तुलना करें:

<div></div> 

var myDiv = document.getElementsByTagName('div')[0]; 
myDiv.setAttribute('id','id1'); 
myDiv.setAttribute('ID','id2'); 
console.log(x.getAttribute('ID')); // IE6, return "id1", IE8, returns "id2" 
console.log(x.getAttribute('ID',true)); // IE6, return "id2", returns "id2" 
संबंधित मुद्दे