根据文档,有两种方法可以获得ElementArrayFinder
(element.all()
调用的结果)内部有多少元素:
$$(".myclass").length
,记录在这里:
...数组
length
等于length
由其找到的元素,ElementArrayFinder
并且每个结果表示对元素执行操作的结果.
$$(".myclass").count()
,记录在这里:
计算由...表示的元素数
ElementArrayFinder
.
这两种方法有什么区别,应该首选哪一种?
$$(".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()
应始终使用.