jq中attr改变属性的问题

为什么我用attr改变元素属性后,弹出还是原来的属性值~? 而不是修改后的属性值呢????通过调试代码看到修改的这个值根本没变。。。
var sl=$('select').attr('multiple','123').attr('multiple');

        alert(sl);
阅读 4.8k
2 个回答

用prop()代替attr()

因为select的multiple属性是一个布尔属性,只有设置或者不设置,你只要有multiple属性,就代表着这个select是多选框,如果没有multiple属性,则代表这个select是单选框。
你设置了multiple,不管给什么值(除了null和false,此时为undefined),都认为是true。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏