避免重复的 dom 查询



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

问题:

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

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

下面会进行另一个 dom 查询吗?

mylist.find("li:first");

还是只是在该变量中搜索?

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

是的,它将执行另一个"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();

最新更新