jquery - 在 IE7 中获取 ‘Stop running this script’ 消息

标签 jquery performance

我需要在单击复选框时执行以下代码

            for (i = 0; i < dropDownCtrl.length; i++) {

                $("#dropDownCtrl option[value='" + dropDownCtrl[i].objName + "']").remove();
           }

但是,由于 dropDownCtrl.length 值较大,我在 IE7 中收到“停止运行此脚本”消息。

任何人都可以帮我解决如何将我的代码集成到下面给出的 URL 中提到的代码中,

http://www.picnet.com.au/blogs/Guido/post/2010/03/04/How-to-prevent-Stop-running-this-script-message-in-browsers

请帮忙。

最佳答案

第一步: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/

相关文章:

JavaScript 性能 : simple key search in object vs value search in array

javascript - (Summernote) - jQuery 和 Prototype 框架兼容性

javascript - DisplayTag - 通过 Ajax 创建首页

javascript - 我如何从 jquery 中的 html.radiobuttonfor 中获取选定的值

algorithm - 如何获得解决 `game of fifteen` 的最小步数?

python - 使用 pandas dataframe 加速迭代过程

javascript - 根据屏幕分辨率动态更改图像

jQuery Mobile如何将单个按钮主题应用于所有按钮

java - 关于性能和 Java 互操作性 : Clojure vs. Scala

java - 简单练习的算法速度