避免重复的dom查询?

时间:2015-04-14 20:57:15

标签: javascript jquery dom

我正在学习避免重复的dom查询。到目前为止的建议是将初始查询保存到变量中,然后根据需要重新使用该变量。

问题:

如果我将以下内容保存到变量中:

var mylist = $("ul.mylist");

以下是否会进行另一个dom查询?

mylist.find("li:first");

或者只是在该变量中搜索?

如果是这样,有没有更好的方法呢?它会避免另一个查询?

1 个答案:

答案 0 :(得分:2)

是的,它会做另一个" dom查询"。要只进行1次查找,可以将列表项节点jQuery包装器保存在变量

var mylist = $("ul.mylist li:first");

或者,您可以在无序列表的DOM属性中手动搜索,但我相信jQuery不会使用.find()方法为您执行此操作。

var mylist = $("ul.mylist");
myList[0].children[0];
// or using jquery
myList.first();