您的代码有更合适的版本:JsFiddle
HTML:
<div id="thediv">hola</div>
<input type="button" value="click to show"/>
JavaScript:
$(function() {
var $myDiv = $("#thediv");
$myDiv.hide();
alert($myDiv.attr("id"));
$("input[type=button]").on('click', function() {
$myDiv.show();
alert('click');
});
});
一些有用的注释:
- 缓存查找 DOM 元素,因为查找它们的成本很高
- 使用 on 而不是 click,它工作得更快
$function()
是 document.ready 的别名,写入速度更快,通过网络发送的字节更少 :)
- 您不必使用 div#id 选择器,#id 就足够了,因为它在您的页面中应该是唯一的,而且在 jquery 将使用 findElementById javascript 函数之后,它不必对 div 执行额外的检查。
- 有一篇关于 jQuery 性能的好文章:artzstudio
- 输入不应拆分为打开和关闭标记。
可能你想要这个:
HTML:
<div id="thediv">
hola
<input type="button" value="click to show"/>
</div>
这样我们就可以优化 JavaScript:
$(function() {
var $myDiv = $("#thediv");
$myDiv.hide();
alert($myDiv.attr("id"));
$myDiv.find("input[type=button]").on('click', function() {
$myDiv.show();
alert('click');
});
});