在IE11和Firefox下attr和prop的兼容性问题(IE低版本和google没有问题)

最近工作中遇到一个比较棘手的兼容性问题,下面就分享一下解决过程吧

■背景说明:

左边一个文本框,右边一个下拉框,下拉框显示从数据库取出来的数据,功能要求左边的文本框输入右边下拉框的value值,下拉框自动定位到

对应的数据,如果输入的值下拉框没有,则返回到为空的状态

■现象
使用jquery语句$(this).attr('selected',true)进行选中设置,文本框输入value值,选中下拉框对应的某个option时会出现下面两种情况:
1.只有在IE11,Firefox浏览器中第一次输入有效,当再次输入刚刚输入的value值选择当前已经选中的option时就会返回到"请选择"状态,
用Firebug查看select属性时可以看到刚刚选择的option是selected状态,但是页面显示"请选择",
2.只有在IE11,Firefox浏览器中输入选中值之后,当回过来再次选择之前选择过的值时,也会返回到"请选择"状态
■原因
相比attr,prop是1.6.1才新出来的,两者从中文意思理解,都是获取/设置属性的方法(attributes和properties)。
只是,window或document中使用.attr()方法在jQuery1.6之前不能正常运行,因为window和document中不能有attributes。
prop应运而生了。(我这边的jquery版本是1.11.1)

■原代码
$(this).attr("selected",true);
■改修案
$(this).prop("selected",true);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值