jquery - 哪一个更快

标签 jquery

HTML 代码

 <div id="content">   
  <input id="txt_content"/>
  <span id="username">Niko</span>
  <span id="timestamp">some timestamp</span>
 </div>

Jquery

方法1

  $("#content").click(function(){
     var this_content = $(this); 
     var txt_content = this_content.find("#txt_content").val();
     var user_name   = this_content.find("#username").html();
     var time_stamp = this_content.find("#timestamp").html();
  });

方法2

 $("#content").click(function(){
     var txt_content = $("#txt_content").val(); 
     var user_name   = $("#username").html();
     var time_stamp = $("#timestamp").html();
  });   

谁能告诉我哪个更快?还要考虑 html 页面是否包含更多数量的 id。我刚刚展示了其中的一部分。

是的,第二种方法利用原生 document.getElementById()这是超快的方法,但我想在第一种方法中我们已经 searched content click 上的元素事件,我们将其存储在 var 中,现在元素的搜索仅限于一个小区域。

我想使用 find()并获取值,但有些网站告诉我不要使用任何其他标签或类或 id,例如 (#id #content) ,只需简单地使用 $("#content")但情况有所不同,在上面的例子中我们得到了 var

请让我了解哪个更好更快

最佳答案

除非您有充分的理由不这样做,否则请使用方法 2。它的代码更简洁——更容易阅读和维护——这就是 jQuery 在文档中执行示例的方式。除非您执行数百或数千次,否则任何性能差异都可以忽略不计,在这种情况下,我会说您应该重构代码或使用不同的库。

关于jquery - 哪一个更快,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20522101/

相关文章:

jquery - swiper自定义分页只滑动一次

javascript - jQuery Mobile App 的后台 worker

javascript - 将 HTML 添加到通过 node.nodeValue 提取的文本节点

c# - 通过 AJAX 从 C# 中的服务器返回数据

javascript - 带输出的 HTML 范围 slider

jquery - 显示所选节点的邻居

javascript - 将变量从 PHP 传递到 jQuery POST

javascript - 如何修改php中的json_encode函数文件?

javascript - 该站点如何在调整大小/水平滚动时使粘性元素保持绝对

jquery - 更改 CSS 以便图像填充 jQuery 选项卡