JQuery动态生成页面select元素时在IE下的BUG

场景:想要制作一个级联列表(A、B),A改变时B也随着改变,那么在初始化时B应该为一个空下拉列表,但是如果在IE下这样写:

 

jQuery(document).ready(function($){
    $("body").append($("<select id='a'><option value='a'>A</option><option value='b'>B</option></select>")
       .change(function(){
          $("#b").empty().append($("<option>"+this.value+"</option>"));
     }));

    $("body").append("<select id='b'></select>");
});

 

在IE8下当A发生改变时B并不能动态获得相应的选项(option),FireFox没有问题。经过测试,如果把B元素放到页面上(<body><select id="b"></select></body>)而不是动态生成则没有问题。

 

而如果非要动态生成的话,经过测试在生成时为b增加一个空选项也不会有问题,即将$("body").append("<select id='b'></select>");改为$("body").append("<select id='b'><option></option></select>");

 

不知道这应该归咎于JQuery还是IE 8.0.7600.16385。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值