web-dev-qa-db-ja.com

count()と分度器の長さ

ドキュメントによると、ElementArrayFinderelement.all()呼び出しの結果)内にある要素の数を取得する方法は2つあります。

  • $$(".myclass").length、文書化 ここ

...配列のlengthlengthによって検出された要素のElementArrayFinderに等しく、各結果は要素に対してアクションを実行した結果を表します。

  • $$(".myclass").count()、文書化 ここ

ElementArrayFinderで表される要素の数を数えます。

これら2つの方法の違いは何ですか?どちらを優先する必要がありますか?

8
alecxe

$$(".myclass").length

要素の長さを正しく取得するには、promiseを解決する必要があります。

_// WORK
$$(".myclass").then(function(items){
  items.length;
});

// DOES NOT WORK
$$(".myclass").length; 
_

$$(".myclass").count()

$$('.myclass').lengthのラッパーであり、promise自体であり、_.length_のようにpromiseを解決する必要はありません。

_$$(".myclass").count(); 
_

どちらを優先する必要がありますか?

関係する$$(".myclass").then(function(items){...})を見つけるときに複雑なビジネスがない限り、_items.length_の方がパフォーマンスが向上します。

それ以外の場合は、常に$$(".myclass").count()を使用する必要があります。

15
Linh Pham