页面上有10000多个input,如何快速找到所有的checkbox

wxylvmnn 2011-06-24 10:55:46
2个按钮,分别是“全选择”和“全取消”,
因为代码中的checkbox是用的服务器端控件,所以无法给统一加上相同的name。

所以,现在代码写成:


function fnc(bool){
var obj = document.getElementById("s1").getElementsByTagName("input");
for (i=0;i<obj.length;i++){
if(obj[i].type=="checkbox"){
obj[i].checked = bool;
}
}
}


但明显感觉到慢。。。。求速度。
...全文
283 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
ufo123ufo 2011-06-24
  • 打赏
  • 举报
回复
checkbox 总该有name或者id吧
正则匹配一下看看效率怎么样
豆虫 2011-06-24
  • 打赏
  • 举报
回复
一下子选中10000多个?太吓人了 再怎么优化也不可能快啊 什么业务需要一下子全选10000多个? 分页处理不行么?
挨踢直男 2011-06-24
  • 打赏
  • 举报
回复
10000多个,想快也快不起来啊

为什么会设计出这样的页面来?
zell419 2011-06-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wxylvmnn 的回复:]

JQ不让用。。。系统比较老.
[/Quote]
10000 多个 。JQ其实也差不多 。
wxylvmnn 2011-06-24
  • 打赏
  • 举报
回复
JQ不让用。。。系统比较老.
xs8577 2011-06-24
  • 打赏
  • 举报
回复
把obj.length设为一个变量,会稍微有点提高
    for (i=0,objLength=obj.length;i<objLength;i++){


坐看其他高手优化
灬上海爽爷 2011-06-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 wxylvmnn 的回复:]
2个按钮,分别是“全选择”和“全取消”,
因为代码中的checkbox是用的服务器端控件,所以无法给统一加上相同的name。

所以,现在代码写成:

JScript code

function fnc(bool){
var obj = document.getElementById("s1").getElementsByTagName("input");
for (……
[/Quote]

一般都用这个。。JQ的话其实思路差不多的吧。。
xuexiaodong2009 2011-06-24
  • 打赏
  • 举报
回复
jquery选择器
$(" :checkbox").attr("checked", "");所用checkbox
燥动的心 2011-06-24
  • 打赏
  • 举报
回复

这个是什么页面啊,有那么多input,设计的不合理吧?
ivan_070 2011-06-24
  • 打赏
  • 举报
回复
最好是能把checkbox放到一个div下面,给div设置一个id,这样效率高一些,通过绝对位置来控制css
hch126163 2011-06-24
  • 打赏
  • 举报
回复
加上 name

用 getElementsByName
bhbhxy 2011-06-24
  • 打赏
  • 举报
回复
稍微调整些细节,但能提升多少就不知道了

function fnc(bool){
var d = document;
var obj = d.getElementById("s1").getElementsByTagName("input");
for (i=0,len=obj.length;i<len;++i){
if(obj[i].type=="checkbox"){
obj[i].checked = bool;
}
}
}

对于非IE浏览器,可以使用浏览器的api document.querySelectorAll()方法,比单纯的getElementById快很多
wxylvmnn 2011-06-24
  • 打赏
  • 举报
回复
是10000个input,

包括hidden,text,button等等,

checkbox只是这10000个中的 100个左右。
wxylvmnn 2011-06-24
  • 打赏
  • 举报
回复
咱就事论事吧,是否有更好的代码可以实现

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧