Javascript / Jqueryを使用して、一意の属性値ごとに最初に一致した要素を選択するにはどうすればよいですか?

Joris508

私はアプリケーションの機能に取り組んでいます。Javascriptを使用して、要素にインジケーターを追加します。インジケーターが必要な要素にクラスを追加しましたが、一部の要素が複数回読み込まれるため、複数のインジケーターが表示され、要素ごとに1つだけ表示したいと思います。このようなクラスを持つすべての要素には、一意のdata-connect-idを持つ属性もあります(ページに複数回読み込まれると、一意ではなくなります)。

では、一意の属性値ごとに最初に一致するすべての項目にのみインジケーターを追加するにはどうすればよいですか?これは1つのために機能します:

$(".connector[data-connect-id = '2']").first().append("<div class='indicator'></div>");

ただし、これは指定された1つのdata-connect-idのみです。すべての一意のdata-connect-idを検索する必要がありますが、どうすればよいですか?

TJクラウダー

data-connect-id事前に値を知らなくても、ドキュメントをスピンして、指定された値を持つ最初の要素にインジケーターdivを追加したいようですループよりもエレガントなものは考えられません。

var seen = {};
$(".connector[data-connect-id]").each(function() {
    var connector = $(this);
    var id = connector.attr("data-connect-id");
    if (!seen[id]) {
        connector.append(/*...*/);
        seen[id] = true;
    }
});

私が意味する、あなたは可能性があり、事前にすべてのIDを収集し、その後、あなたとループを行うfirst例が、それはあまり効率的です。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ