最近,我一直在努力加快性能(有时它有助于可维护性)
var objectToReference = $('div .complicated #selector ul:last');
那么objectToReference真正拥有什么?有时事情会让我感到困惑,所以我已经回到了使用完整的选择器,它已经奏效了.
那么变量是否包含引用,指针等(我不确定这些术语的确切定义)
谢谢
解决方法
许多人在创建这样的变量时使用的最佳实践是以$开头命名,以表明它是一个jquery对象.所以你可以命名变量$o,你可以在它之后直接调用其他jQuery链函数,而不必在变量周围放置$().
$o.hide();
最好从您操作区域的周围元素开始,以避免必须搜索整个文档.例如,要获取文档的单个部分中的所有链接(无需搜索整个文档):
var $o = $('#mysection'); var $links = $('a',$o); // equiv to $o.find('a')
最后,通过jQuery传回jQuery对象永远不会伤害:
$o === $($o)
这有一个很好的副作用 – 你可以编写一个接受以下任何一个参数的函数:一个选择器,一个元素或一个jQuery对象:
function myFunc(e) { var $e = $(e); } // All of the following will work: myFunc('#mysection'); myFunc(document.getElementById('mysection')); myFunc($('#mysection a'));