选择器性能从嵌套元素中获取value()

时间:2011-03-21 06:17:18

标签: javascript jquery

使用jQuery或JavaScript编写此jQuery选择器是否有更好的性能方式。我主要是看选择器的速度。 http://jsperf.com示例是一个加号。

$('#formEdit div input.t:visible').val();

<div id="formEdit">
  <div>
    <input class="t" type="text">
    <input style="display:none;" class="t" type="text">
    <input style="display:none;" class="t" type="text">
  </div>
</div>

2 个答案:

答案 0 :(得分:2)

你有其他形式的其他input.t类?

如果不只是使用

$("#formEdit .t:visible").val();

这是给你的jsperf:

link:http://jsperf.com/test-for-so

检查了ff和chrome,我的更快

你的整个页面上还有其他.t课程吗?

答案 1 :(得分:2)

基于我的测试,一些更有趣的结果。为方便起见,我已经包含了原始测试和@ corroded的测试。最快的一个使用纯JS。

jsperf link

var form = document.getElementById('formEdit');
var ts = form.getElementsByClassName('t');
var value;
for (var i = 0; i < ts.length; i++) {
    if (ts[i].style.display != 'none') {
    value = ts[i].value;
    break;
    }
}