如果找到屬性,$(selector).attr(name)
是否保證結果是小寫?jQuery.attr()保證小寫?
5
A
回答
3
它會在任何情況下返回值。
<div class="sOmEcLaSs">content</div>
。
alert($('div').attr('class')); // will alert sOmEcLaSs
如果你想轉換爲小寫,您可以使用.toLowerCase()
。
alert($('div').attr('class').toLowerCase()); // will alert someclass
代碼jQuery的attr
return語句(沒有嘶嘶聲):
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調用JavaScript .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不能依賴於區分大小寫的屬性搜索,仍然是跨瀏覽器瀏覽器兼容。在舊的IE DOM中,我記得所有的標籤和屬性都以大寫形式存儲和返回;所以標籤<div id="mydiv">
在內部呈現爲<DIV ID=mydiv>
。所以在Netscape或Firefox中,屬性名稱將是id
,在IE中它將是ID
。但即使使用動態創建的元素(這些元素與所需的情況一起存儲),在IE中也存在不一致。例如,IE6和IE8的行爲與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"
相關問題
- 1. 保證是小寫
- 2. jQuery.attr功能
- 3. jQuery.attr( 「風格」)與jQuery.css()
- 4. str_ireplace()保留大小寫
- 5. javascript:驗證大寫和小寫
- 6. ASP驗證器:僅驗證小寫字母和大寫字母
- 7. 保證金 - 右邊小於保證金 - 左邊相等的值
- 8. Jquery驗證強制小寫和符號
- 9. HDFS保證讀/寫文件的數據
- 10. Amazon S3是否保證書寫順序?
- 11. FUSE的寫入順序保證
- 12. 如何使用http.get保存大小寫?
- 13. MySQL將表名保存爲小寫
- 14. 在ConfigParser中保留大小寫嗎?
- 15. 確保搜索小寫字符
- 16. Linux解壓縮保存大小寫?
- 17. 使用str_ireplace時保留大小寫嗎?
- 18. 保留ExpressionEngine中的標題大小寫?
- 19. PHP數組了preg_replace,保持大/小寫
- 20. Rails3中/ Mongoid - 保存模型爲小寫
- 21. 如何保證變量的大小
- 22. 類型的保證大小爲2?
- 23. 不區分大小寫的名稱,同時保留大小寫,在設計中
- 24. Sublime Text 2 - 查找和替換:「區分大小寫」與「保存大小寫」?
- 25. 即使我沒有寫保證金,也有一個奇怪的保證金12px
- 26. php查詢(小寫字母/大寫字母)驗證
- 27. jQuery字符長度驗證和大寫/小寫字符
- 28. 如何驗證小寫和大寫輸入?
- 29. Char驗證器不僅會接受大寫和小寫M/F
- 30. jQuery驗證密碼強度的大寫和小寫
你可以保證用戶不會禁用JavaScript .. :-P – 2010-07-21 23:47:03