哪一个更快

时间:2013-12-11 14:44:22

标签: jquery

HTML CODE

 <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元素{{1} }}事件我们已将其存储在click中,现在搜索元素仅限于一小块区域。

我正在考虑使用var并获取值,但有些网站告诉我不要使用任何其他标签或类或find()的ID,只需使用(#id #content)但情况在上面的例子中我们有一个$("#content")

请让我了解哪一个更好更快

1 个答案:

答案 0 :(得分:3)

使用方法2,除非你有充分的理由不这样做。这是更清晰的代码 - 更易于阅读和维护 - 这就是jQuery在文档中做示例的方式。任何性能差异都是极其微不足道的,除非你做了数百或数千次,在这种情况下我会说你应该重构代码或使用不同的库。