コンテナー内に要素の固定セット (30 など) があります。要素がクリックされたときに、そのコンテナ内のインデックスを把握したいと考えています。
私ができることを知っている:
- すべての要素にそれぞれのインデックスを持つクリックハンドラーを設定して、クリックされたときにクロージャースコープからのインデックスを既に知っているようにし
ます
。 - すべての子要素を反復し、各要素をクリックした要素と比較し、それに到達するまでインデックスをカウントします
長所: 動作
します 短所: リストを反復して比較を行う必要があります (遅い) - (SOで提案)previousSibling属性を使用して、途中で各子をnullに戻してインデックスを決定します
長所:機能します。子から直接開始するため、オプション2よりも少し優れている可能性があります
短所:要素を繰り返し処理します - (私が考えた解決策)固定セットがあるため、各要素に「tabindex」属性を(htmlまたはJS経由で)設定できるため、要素をクリックすると、要素のtabindex属性を確認するだけです
長所:ちょうどあるべきですオプション1と同じくらい速い
短所:(意図したとおりにtabindexを使用していないと怒鳴られる前に:])これにより、必要な場合とそうでない場合がある要素がフォーカス可能になります
では、パフォーマンス (速度とメモリ) に関して、上記のどれが最良の方法でしょうか、それともより良い方法がありますか?
どうもありがとうございました。