根据文档,有两种方法可以获取ElementArrayFinder(element.all()调用结果)内部有多少个元素:
ElementArrayFinder
element.all()
$$(".myclass").length
…该数组length等于length由找到的元素的ElementArrayFinder,每个结果代表对该元素执行操作的结果。
length
$$(".myclass").count()
计算表示的元素数量ElementArrayFinder。
这两种方法有什么区别,应首选哪一种?
需要解决诺言以正确获取元素的长度。
// WORK $$(".myclass").then(function(items){ items.length; }); // DOES NOT WORK $$(".myclass").length;
一个包装器,$$('.myclass').length它本身就是一个承诺,不需要解决承诺,例如.length
$$('.myclass').length
.length
$$(".myclass").count();
哪一个应该是首选?
除非在进行定位$$(".myclass")和.then(function(items){...})参与时有一些复杂的业务,否则items.length它将提供更好的性能。
$$(".myclass")
.then(function(items){...})
items.length
否则$$(".myclass").count()应始终使用。