0

現在、クラスが「chained」の複数の要素を持つページがあります。これらすべてを選択し、いくつかのデータ属性(要素ごとに異なる)に基づいていくつかの追加コードを実行できるように、クラスセレクターを使用したいと思います。これまでの私のコードは次のとおりです。

$('.chained_child').remoteChainedTo('chained_parent'
   + $(this).data('chained-parent'), $(this).data('chained-url'));

問題はこの部分にあると思います:$(this).data('chained-parent')-これは機能していないようです。選択した要素のデータ属性を選択するにはどうすればよいですか?

ありがとう!

4

3 に答える 3

4

このメソッドを使用し.each()て、一致した要素のセットを反復処理し、それぞれに対して関数を実行できます。

$('.chained_child').each(function () {
    $(this).remoteChainedTo('chained_parent' + $(this).data('chained-parent'), $(this).data('chained-url'));
});

上記のコードでわかるように、.each()コールバック内thisは現在の基になるDOMノードを参照します(jQueryオブジェクトではないため、jQueryに渡す必要があります)。

.each()一部のjQueryメソッドは、関数を単一の引数として受け入れることに注意してください。この引数は、暗黙的なループ内の一致したセット内の要素ごとに1回呼び出されます。使用しているプラ​​グインのソースを見ると、ここではそうではないことがわかります。

于 2012-09-25T13:43:58.230 に答える
2

このように使うべきだと思います

$(".chained").each(function(){
//add data as you want
})
于 2012-09-25T13:44:20.537 に答える
0

使ってみてください

$(this).attr('data-chained-parent')

また

$(this).data('chainedParent')
于 2012-09-25T13:44:16.393 に答える