私はアプリケーションの機能に取り組んでいます。Javascriptを使用して、要素にインジケーターを追加します。インジケーターが必要な要素にクラスを追加しましたが、一部の要素が複数回読み込まれるため、複数のインジケーターが表示され、要素ごとに1つだけ表示したいと思います。このようなクラスを持つすべての要素には、一意のdata-connect-idを持つ属性もあります(ページに複数回読み込まれると、一意ではなくなります)。
では、一意の属性値ごとに最初に一致するすべての項目にのみインジケーターを追加するにはどうすればよいですか?これは1つのために機能します:
$(".connector[data-connect-id = '2']").first().append("<div class='indicator'></div>");
ただし、これは指定された1つのdata-connect-idのみです。すべての一意のdata-connect-idを検索する必要がありますが、どうすればよいですか?
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]
コメントを追加