【发布时间】:2013-11-08 09:15:20
【问题描述】:
我需要在复选框单击时执行以下代码
for (i = 0; i < dropDownCtrl.length; i++) {
$("#dropDownCtrl option[value='" + dropDownCtrl[i].objName + "']").remove();
}
但是,由于 dropDownCtrl.length 值较大,在 IE7 中收到“停止运行此脚本”消息。
谁能帮我把我的代码集成到下面给出的 URL 中提到的代码中,
请帮忙。
【问题讨论】:
-
dropDownCtrl.length的值是多少? -
为什么要停止错误消息?您可以改用
for/in。 -
长度大于2000 怎么用for/in
-
来自MDN 反正我不明白你的问题来自哪里。 IE 只处理 2000 个项目有什么问题?您是否有任何参考或您收到的确切错误消息?
-
@Adriano IE7 不支持
querySelector,这是 jQuery 用来使选择器快速运行的方法。因此,它必须解析字符串 2000 次,扫描页面上的所有元素 2000 次以寻找具有正确值的value属性(因为 CSS 选择器是从右到左解析的)。这是很多工作,IE7 会因此而死也就不足为奇了。而在我的回答中,不需要这种蛮力。
标签: jquery performance