首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于从嵌套元素中获取val()的选择器性能

问用于从嵌套元素中获取val()的选择器性能
EN

Stack Overflow用户
提问于 2011-03-21 14:17:18
回答 2查看 134关注 0票数 0

有没有一种更好、更高效的方法来使用jQuery或JavaScript来编写这个jQuery选择器?我主要关注选择器的速度。http://jsperf.com的例子是一个加号。

代码语言:javascript
复制
$('#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>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-21 14:53:53

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

jsperf link

代码语言:javascript
复制
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;
    }
}
票数 2
EN

Stack Overflow用户

发布于 2011-03-21 14:19:59

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

如果不是仅仅使用

代码语言:javascript
复制
$("#formEdit .t:visible").val();

这是给你的一个jsperf:

链接:http://jsperf.com/test-for-so

签入ff和chrome,我的还是更快。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5374427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档