私はトリッキーなものに出くわしました.参照を見つけることができませんでした.
問題
attribute-name (注: attribute-valueではない) が特定の文字列で始まるすべての子要素を取得する必要があります。
だから私が持っている場合:
<a data-prefix-age="22">22</a>
<a data-prefix-weight="82">82</a>
<a href="#">meh</a>
私のクエリは、 data-prefix--prefixを持つ最初の 2 つの要素のコレクションを返します。
このクエリを作成する方法についてのアイデアはありますか?
私は次のようなものを目指していました:
$(document).find("[data-prefix-*]")
しかし、もちろんそれは有効ではありません
うまくいけば、あなたの1人がこれを解決する方法についてより鋭い目を持っています.
解決
(以下の受け入れられたコード例を参照してください)
部分的な属性名を照会する直接的な方法はないよう です。代わりにすべきこと(これは可能な解決策の1つにすぎません)は
- 可能な限り最小の要素のコレクションを選択します
- それらを繰り返す
- 次に、要素ごとに、要素の属性を反復処理します
- ヒットを見つけたら、コレクションに追加します
- 次に、ループを離れて、チェックする次の要素に進みます。
必要な要素を含む配列になるはずです。
それが役に立てば幸い :)