jQuery选择器中有一个这样的选择器,它能指定上下文。jQuery(expression,context);通过它,能缩小选择器在DOM中搜索的范围,达到节省时间,提高效率。普通方式:(‘.myDiv′)改进方式:(‘.myDiv′)改进方式:(‘.myDiv’,$(“#listItem”))。
10.慎用.live()方法(应该说尽量不要使用)。
这是jQuery1.3.1版本之后增加的方法,这个方法的功能就是为新增的DOM元素动态绑定事件。但对于效率来说,这个方法比较占用资源。所以请尽量不要使用它。例如有这么一段代码:
<script type="text/javascript">
$(function(){
$("p").click(function(){
alert($(this).text());
});
$("button").click(function(){
$("<p>this is second p</p>").appendTo("body");
});
})
</script>
<body>
<p>this is first p</p>
<button>add</button>
</body>
运行后,你会发现新增的p元素,并没用被绑定click事件。你可以改成.live(“click”)方式解决此问题,代码如下:
$(function() {
$("p").live("click",function() {
// 改成live方式
alert($(this).text());
});
$("button").click(function() {
$("<p>this is second p</p>").appendTo("body");
});
})
但我并不建议大家这么做,我想用另一种方式去解决这个问题,代码如下:
$(function() {
$("p").click(function() {
alert($(this).text());
});
$("button").click(function() {
$("<p>this is second p</p>").click(function() {
// 为新增的元素重新绑定一次
alert($(this).text());
}).appendTo("body");
});
})