jQuery实现checkbox全选在IE浏览器中不兼容问题
最近做的项目中使用jQuery实现全选checkbox功能发现代码在IE中不兼容,尝试了各种途径都比较麻烦,所以采用了一种比较简单的方式:
原来代码为
$("[name = chkItem]:checkbox").attr("checked", true);
目的是实现name为chkItem的checkbox全选,但是在IE中无法正常工作。
修改为
</pre><pre name="code" class="html"> var allCheckBoxs = document.getElementsByName("chkItem"); //得到需要复选框集合
var dialogLayerId = document.getElementById('dialogLayerTab');
var rowsLength = dialogLayerId.rows.length;//表格总共有多少行
for(var i=1;i<rowsLength;i++){
if(dialogLayerId.rows[i].style.display==''){
if (allCheckBoxs[i-1].checked == false) {//排除失误操作
$("#dialogLayerTab tr:eq(" + i + ") input:eq(0)").click();
}
}
}
使用了逐个点击的方法来实现选中和取消,效率不高不过实现起来更简单。
P.S. 需要注意的是在点击之前先判断当前状态,如果全选操作,复选框中存在已经选中的则进行排除,反选也是如此。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?