我在我的 JSP 中多次使用这个 jQuery 选择器:
$("#customers tbody tr td input[type='checkbox'][name='selectedCustomers']")
我在一些博客上找到的解决方案是我应该先做:
var customer=$('#customers')
然后使用上面的客户对象进行进一步的调用。
customer.find("tbody tr td input[type='checkbox'][name='selectedCustomers']")
我的问题是,这个解决方案会有什么不同吗?为什么?
我的理解
当我做
$("#customers tbody tr td input[type='checkbox'][name='selectedCustomers']")
jQuery 内部会先获取关联的对象div id="customers"
(通过 document.getElementById("customers")),然后会遍历到指定的
checkbox
. 如果我按照建议的解决方案进行,那么document.getElementById("customers")
只会被解雇一次,其余的都是一样的。所以我把自己从不必要的多重中拯救出来,document.getElementById
但其余的都是一样的。我的理解正确吗?如果是的话,就我所知,是document.getElementById
更昂贵的操作吗?
编辑:-
我不仅多次使用上述选择器,而且还在 div id="customer" 下使用其他可能的选择器。那么问题来了,如果我先缓存客户对象,如果我不这样做,性能方面有什么区别?