IE6使用add方法添加optGroup的bug

简介:
合理的使用optGroup元素,可以极大地增强select下拉列表框的表现能力。我是比较喜欢在select中使用optGroup做数据分类的,不过不知道微软搞什么飞机,就这么一个html标签bug还真是不少。刚才又在使用DOM操作select添加optGroup时发现了问题。

    如下简单的代码,我们会得到什么结果呢?
None.gif < select  id ="slt1" >
None.gif </ select >
ExpandedBlockStart.gif ContractedBlock.gif < script  language ="javascript" > dot.gif
InBlock.gifdocument.body.onload 
=   function ()
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif {
InBlock.gif    
for  (  var  i = 0  ; i  <   3  ;  ++ i )
ExpandedSubBlockStart.gifContractedSubBlock.gif    
dot.gif {
InBlock.gif        
var  group  =  document.createElement('OPTGROUP');
InBlock.gif        group.label 
=  'group  1 - +  i;  
InBlock.gif        slt1.add(group);
ExpandedSubBlockEnd.gif    }

ExpandedBlockEnd.gif}
;   
None.gif
</ script >

    按我们对select的add方法的理解,似乎应该得到分组列表框:,但实际上我们得到的列表框却是:。为什么会是第二种情况呢 hitwall.gif?那么我们来看看IE DOM操作后生成的Html到底是什么呢?
None.gif < SELECT  id =slt1 >
None.gif     < OPTGROUP  label ="group 1-0" >
None.gif         < OPTGROUP  label ="group 1-2" >
None.gif         </ OPTGROUP >
None.gif         < OPTGROUP  label ="group 1-1" >
None.gif         </ OPTGROUP >
None.gif </ SELECT >

    这是什么东东啊?optGroup怎么又嵌到optGroup里面去了?optGroup不支持mutli-hierarhical呀!

    原来我们必须改用通用的DOM操作方式,即使用appendChild(element)方法才能获得正确的select列表的分组结构,示例代码如下:
None.gif < select  id ="slt2" >
None.gif </ select >
ExpandedBlockStart.gif ContractedBlock.gif < script  language ="javascript" > dot.gif
InBlock.gifdocument.body.onload 
=   function ()
ExpandedSubBlockStart.gifContractedSubBlock.gif
dot.gif {
InBlock.gif   
for  (  var  i = 0  ; i  <   3  ;  ++ i )
ExpandedSubBlockStart.gifContractedSubBlock.gif   
dot.gif {
InBlock.gif       
var  group  =  document.createElement('OPTGROUP');
InBlock.gif       group.label 
=  'group  2 - +  i;
InBlock.gif       slt2.appendChild(group);
ExpandedSubBlockEnd.gif   }

ExpandedBlockEnd.gif}
;   
None.gif
</ script >

    至于add方法的问题,只能算作optGroup的又一个bug了

本文转自博客园鸟食轩的博客,原文链接:http://www.cnblogs.com/birdshome/,如需转载请自行联系原博主。

目录
相关文章
element中el-radio-group 单选回显(整理)
element中el-radio-group 单选回显(整理)
|
6月前
|
前端开发
使用el-menu的时候遇到的bug以及解决方式
使用el-menu的时候遇到的bug以及解决方式
126 0
|
6月前
【element-ui用法】el-radio-group默认选择和数据回显问题的解决方案
【element-ui用法】el-radio-group默认选择和数据回显问题的解决方案
214 0
el-form中error重复错误只显示一次
el-form中el-form-item的error属性监听的是watch方法,也就是两次重复的错误操作,提示的错误信息一致,就不会触发watch方法。 就会导致第一次获取error信息,信息正常显示在了页面中,第二次获取到了同样的error信息,信息却不显示在页面中了。
423 0
Tip | 使用GitHubDesktop提交 本地existing项目
Tip | 使用GitHubDesktop提交 本地existing项目
|
前端开发
前端工作总结182-element-ui el-table sortable属性 参数详解
前端工作总结182-element-ui el-table sortable属性 参数详解
307 0
前端工作总结182-element-ui el-table sortable属性 参数详解
|
JavaScript
Element UI - el-table-column 属性之 show-overflow-tooltip 爬坑
Element UI - el-table-column 属性之 show-overflow-tooltip 爬坑
2003 0
Item描述信息的更改也会导致will trigger ORDERADM_H的update函数触发
Item描述信息的更改也会导致will trigger ORDERADM_H的update函数触发
106 0
Item描述信息的更改也会导致will trigger ORDERADM_H的update函数触发
|
.NET
艾伟:Tip:自定义UpdatePanelTrigger
  大家在使用UpdatePanel的时候有没有遇到过这种情况呢?   页面上放置着3到4的UpdatePanel,它们互相独立,并且UpdateMode都是Condition,这意味着没有哪个UpdatePanel每次都会更新。
906 0
|
.NET 开发框架 前端开发

热门文章

最新文章