姓名:

欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

IE6/7中setAttribute不支持class/for/rowspan/c

系統 1791 0
今天在學習中遇到了在ie中設置class屬性值的bug,現寫出來與大家分享,一起共勉,如有錯漏望不吝指正。

如:

elm.setAttribute('class', 'className');
在IE6/7中樣式“className”并沒有起作用,雖然使用elm.getAttribute('class')是可以獲取到“className”。
后來上網查了一些資料,發現了在ie中其實還有一部分屬性也會有這樣的問題,像for屬性





<label>姓名:</label>
<input type="checkbox" id="name"/>
<script>
??? var lab = document.getElementsByTagName('label')[0];
??? lab.setAttribute('for', 'name');
</script>
理論上如果lab設置了for屬性,點擊label時會自動將對應的checkbox選中。但在IE6/7點擊并沒有選中相應的checkbox。

而且類似的情況還發生在 cellspacing/cellpadding 等屬性上,現列出來,大家可以認一下,以后做的時候可以注意一下:
class
for
cellspacing
cellpadding
tabindex
readonly
maxlength
rowspan
colspan
usemap
frameborder
contenteditable

所以,當在寫一個通用的跨瀏覽器的設置元素屬性的接口方法時,我們就需要考慮注意以上屬性在IE6/7中的特殊性。
網上就有位朋友寫了如下方法以解決上面的問題:


































dom = (function() {
????
??? var fixAttr = {
??????? tabindex: 'tabIndex',
??????? readonly: 'readOnly',
??????? 'for': 'htmlFor',
??????? 'class': 'className',
??????? maxlength: 'maxLength',
??????? cellspacing: 'cellSpacing',
??????? cellpadding: 'cellPadding',
??????? rowspan: 'rowSpan',
??????? colspan: 'colSpan',
??????? usemap: 'useMap',
??????? frameborder: 'frameBorder',
??????? contenteditable: 'contentEditable'
??? },
????
??? div = document.createElement( 'div' );
????
??? div.setAttribute('class', 't');
????
??? var supportSetAttr = div.className === 't';
????
??? return {
????????
??????? setAttr : function(el, name, val) {
??????????? el.setAttribute(supportSetAttr ? name : (fixAttr[name] || name), val);
??????? }????????
??????? getAttr : function(el, name) {
??????????? return el.getAttribute(supportSetAttr ? name fixAttr[name] || name));??????
??????? }
??? }
})();

首先,標準瀏覽器直接使用原始屬性名;其次,IE6/7非以上列舉的屬性仍然用原始屬性名;最后這些特殊屬性(與JS關鍵字同名如for,class)使用fixAttr。

到了這里,我們就不用考慮className/htmlFor了,直接使用class/for即可。




dom.setAttr(el, 'class', 'red');
dom.getAttr(el, 'class');

dom.setAttr(el, 'for', 'userName');
dom.getAttr(el, 'for');

IE6/7中setAttribute不支持class/for/rowspan/colspan等屬性


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 嘿嘿视频不良网站 | 国产精品一区在线观看你懂的 | 亚洲精品久久午夜无码一区二区 | 二级毛片视频 | 国产免费观看视频 | 亚洲男人的天堂久久精品 | 色婷婷色 | 全黄性性激高免费视频 | 一区二区三区在线看 | 日韩精品极品视频在线观看免费 | 最近免费日本视频在线 | 妞干网av| 冰封侠:时空行者 | 羞羞的小视频 | 国产精品原创巨作av | 欧美一区二区在线观看视频 | 精品一区二区三区免费毛片 | 一级毛片真人免费观看 | 婷婷久久无码欧美人妻 | 亚洲国产一区二区三区四区色欲 | 久久久久欧美激情 | 国产一级毛片高清视频 | 国产福利资源在线 | 日韩精品一区二区三区中文字幕 | 国产精品成人免费观看 | 久久国产精品视频 | 国产欧美视频一区二区三区 | 免费看淫片 | 96精品免费视频大全 | 久久久精| 亚洲日本va中文字幕线 | 毛片a在线 | 嫩草视频在线播放 | 久久三区 | 96福利视频 | 午夜资源 | 亚洲一区免费在线观看 | 欧美日韩成人影院 | 电视剧全部免费观看 | 夜夜夜操操操 | 久久精品国产一区二区三区不卡 |