3

注: これはデータ属性によるクエリに関する基本的な質問ではありません

私が抱えている問題は、次のような特定の要素があることです。

<div data-step="1, 4">

[data-step]それぞれをステップスルーして抽出し、1, 4それらのイベントを作成する方法などを理解しました。

この正確なデータステップをクエリして取得しようとしているとしましょうが、与えられたのは次のとおりです。

$('[data-step="4"]') 
// this won't work of course

$('[data-step="1, 4"]')
// obviously this will work, but at this point I'm only given the index
// which will only be ONE of these numbers

基本的に与えられた(例として、4)どうすれば簡単にセレクターにクエリを実行して外に出てつかむことができ[data-step="1, 4"]ますか?

私が思いつくことができるのは、各データステップを通過し、すべてを取り除き、一致があるかどうかを確認するループです。潜在的に簡単な方法はありますか?

4

3 に答える 3

4

~=スペースで区切られた、指定された単語を含む値を持つ属性を持つ要素を検索します。あなたの場合にも機能します。

$('[data-step~="4"]')

*=指定された部分文字列を含む値を持つ属性を持つ要素を検索します。

$('[data-step*="4"]')
于 2013-01-03T22:41:32.567 に答える
2

ソリューションを使用することもできfilterます:

var search = 4;
$("[data-step]").filter(function() {
    return $.inArray("" + search, $(this).data("step").split(/,\s*/)) !== -1;
});
于 2013-01-03T22:41:47.583 に答える
0

* before = を使用する必要があります。サブストリング 'value' $('[data-step*="value"]') を含むすべてのデータステップが返されます。

于 2013-01-03T22:45:50.887 に答える