0

これらのjqueryコードがどのように機能するかを理解しようとしています

function findVideoForElement(el) {
      var parentControls=$(el).parents('.video_controls[rel]');
      if (parentControls.length==0) {
            return $('video[id=]');
      } else {
            return $('#'+parentControls.attr('rel'));
      }
}

parents()呼び出されると、式に一致する要素が返されます。'.video_controls[rel]'この式は正確には何を意味しclass="video_controls"ますか? [rel]この部分の意味がわかりませんでした。

また、$('video[id=]')id="video" を持つ要素を意味しますか?

何を$('#'+parentControls.attr('rel'))返しますか?

4

4 に答える 4

3

あなたは class="video_controls" について正しいです。次のようなものを持つすべての要素を探しています。[rel] は、属性「rel」があることを保証するだけです

<div class="video_controls" rel="whatever">

$('video[id=]') は id="" の動画を探しているだけです

$('#'+parentControls.attr('rel')) は、上記の rel タグから $('#whatever') に変換されるため、.video_controls 要素の rel 属性の ID を持つ要素を探しています。

于 2012-05-07T04:49:23.470 に答える
2
  1. '.video_controls[rel]'「クラスvideo_controlsを持ち、rel属性が定義されている」ことを意味します
  2. $('video[id=]')「空の文字列に設定され<video>た属性を持つ任意のタグ」を意味します。id
  3. $('#' + parentControls.attr('rel'))relparentControls 要素の属性に等しい ID を持つ要素を返します。

jQuery セレクターの詳細については、ドキュメントを参照してください。

于 2012-05-07T04:51:59.487 に答える
2

これは基本的な CSS で[rel]あり、属性を持つ任意の要素を参照しrelます。

.attr("rel")したがって、そのrel属性の値を返します。

于 2012-05-07T04:49:22.870 に答える
2
  1. $(el).parents('.video_controls[rel]');' returns all parents ofel that has a class.video_controls withrel` で、親の配列を返します。

  2. $('video[id=]');videoなしでタグを返しますid

  3. parentControls.attr('rel')rel最初のポイントで選択された親のメンションの属性を返します。

  4. $('#'+parentControls.attr('rel'));のセレクターidです。ここ#では id セレクターを意味します

于 2012-05-07T05:00:18.373 に答える