我需要在单击复选框时执行以下代码
for (i = 0; i < dropDownCtrl.length; i++) {
$("#dropDownCtrl option[value='" + dropDownCtrl[i].objName + "']").remove();
}
但是,由于 dropDownCtrl.length 值较大,我在 IE7 中收到“停止运行此脚本”消息。
任何人都可以帮我解决如何将我的代码集成到下面给出的 URL 中提到的代码中,
请帮忙。
最佳答案
第一步:Don't use jQuery .
var opts = document.getElementById('dropDownCtrl').options, lookup = {},
l = dropDownCtrl.length, i;
// first use "lookup" as a quick lookup table - otherwise we'd have O(n*m) !
for( i=0; i<l; i++) lookup[dropDownCtrl[i].objName] = true;
// now we can do this in O(n+m), much better.
l = opts.length;
for( i=0; i<l; i++) {
if( lookup[opts[i].value]) opts.parentNode.removeChild(opts[i]);
}
哒哒!现在应该快得多了。
关于jquery - 在 IE7 中获取 ‘Stop running this script’ 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19855320/