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")
请让我了解哪一个更好更快
答案 0 :(得分:3)
使用方法2,除非你有充分的理由不这样做。这是更清晰的代码 - 更易于阅读和维护 - 这就是jQuery在文档中做示例的方式。任何性能差异都是极其微不足道的,除非你做了数百或数千次,在这种情况下我会说你应该重构代码或使用不同的库。