【发布时间】:2009-02-12 13:35:09
【问题描述】:
我在一个包含 3830 个元素的网页中有一个下拉菜单。我知道,不过分。
在 jquery 中,我使用以下语句获取选定的选项值:
$( "#institutionCombo :selected" ).val();
在找到选择之前有一个明显的停顿。一旦我得到那个值,我就把它插入到页面上的一个文本框中,所以我知道有多快。另外,我已经使用 Firebug 中的断点对其进行了检查。
如果我去老学校并使用这个 javascript:
var div = document.getElementById("maindiv");
var select = div.getElementsByTagName("select")[0];
var ix = select.selectedIndex;
var instId = select.options[ ix ].value;
这个速度是瞬间的。
当数字太高时,jquery 中是否有一些继承会使 :selected 选择器变得如此缓慢?我想在我的脚本中始终使用 jquery,有没有人建议加快在 jquery 中找到选定的选项?
谢谢,
克雷格
【问题讨论】:
-
啊,废话,已经有五个标签了。我很想给你贴上标签,或者只是 wtf
-
3830...开个玩笑,怎么会有人滚动那么多...
-
您无需滚动,您只需开始输入,下拉菜单就会找到最接近的匹配项。它比如果你只有一个列表框那么你必须滚动要容易得多。实际上没有用户抱怨过选择多,因为它易于使用。
标签: jquery performance selector selected selectedindex