根据文档,有两种方法可以获取ElementArrayFinder
(element.all()
调用的结果)中有多少元素:
$$(".myclass").length
,记录here:...数组的
length
等于length
找到的元素的ElementArrayFinder
,每个结果代表对元素执行操作的结果。
$$(".myclass").count()
,记录here:计算
ElementArrayFinder
表示的元素数量。
这两种方法有什么区别,应该首选哪种方法?
答案 0 :(得分:15)
$$(".myclass").length
需要解决正确获取元素长度的承诺。
// WORK
$$(".myclass").then(function(items){
items.length;
});
// DOES NOT WORK
$$(".myclass").length;
$$(".myclass").count()
$$('.myclass').length
的包装器,它本身就是一个承诺,不需要像.length
那样解决承诺
$$(".myclass").count();
应该首选哪一个?
除非在找到$$(".myclass")
和.then(function(items){...})
时遇到一些复杂的业务,否则items.length
会提供更好的效果。
否则应始终使用$$(".myclass").count()
。