JQuery交差セレクター

jquery
JQuery交差セレクター

答えはどこかSOにあると確信していますが、どの用語を検索するのか迷っています。 これが重複している場合は謝罪します。

jQuery / JSで、次のHTMLから「交差する」要素を選択する簡単な方法はありますか?

i.e. これらの2つのIDが「#first」にあるという事実に基づいて、「div#second」から要素「#CCC」と「#FFF」を取得しますか?

私は適切な答えはサーバー側で交差することだと思います(2つのデータセットが異なるコンポーネントから来るので可能ですが、痛みを伴います) jQueryでそれをしますか?

  0  0


ベストアンサー

最初にこれらすべてのIDを収集してから、それに応じてCSSセレクター文字列を作成する必要があります。

var divsToSelect = [];

$('#first div').each(function(){
    divsToSelect.push( $(this).attr('id').substr(-3) );
});

$('#' + divsToSelect.join(',#'));

2


フィルタを使用できます-

$("#second div").filter(function() {
    return $("#first > div[id$=" + this.id + "]").length > 0
})

デモ-http://jsfiddle.net/b9NZR/

1


なぜクライアントサイドではありませんか?

    $('div#first > div').each(function(){
      var fv = $(this).attr('id');
      $('div#second > div').each(function(){
         var sv = $('div').attr('id');
         if (fv.indexOf(sv) > -1){
            // do something
         }
      });
    });

もちろん専門家ではありませんが、それに沿ったものです。

0


タイトルとURLをコピーしました