3

私はjQueryの初心者です。私は次のHTMLのようなものを持っています:

<div class=dcsns-youtube>
    <span class="section-thumb">
        <a href="some-link"><img src="http://img.youtube.com/vi/m4-1FZeoBtQ/default.jpg" alt=""></a>
    </span>
    <span class="section-title">
        <a href="some-link">Text on the link</a>
    </span>
<div>

クラス「section-title」でスパン内のa要素内にあるテキストを取得したい、例「リンク上のテキスト」で、クラス「」でスパン内のa要素のタイトルとして使用するセクション親指」。

次の jQuery コードは、1 つの div に対してのみ機能します。

jQuery('.dcsns-youtube .section-thumb a').attr('title', $('.dcsns-youtube .section-title').text());

複数のdivがある場合、スパン内の各要素にクラス「section-thumb」を使用して、スパン内のa要素からのテキストにそれぞれクラス「section-title」を追加する場合、どうすればこれを機能させることができますか?

4

3 に答える 3

4

あなたはこれを行うことができます:

$('.dcsns-youtube').each(function(){
  $('.section-thumb a', this).attr('title', $('.section-title', this).text());
});

$(someselector, this)内の要素を検索しますthis

デモンストレーション

にコールバックを渡すこともできますattr:

$('.dcsns-youtube .section-thumb a').attr('title', function(){
      return $(this).closest('.dcsns-youtube').find('.section-title a').text();
});

デモンストレーション

于 2013-01-11T15:44:20.563 に答える
2

セレクターで指定されたすべての要素にアクセスするには、jQuery each()を使用する必要があります。each() は、セレクターによって返されたコレクションを反復処理$(this)し、各ボディで、コレクション内の html の jQuery オブジェクトを提供elementします。

jQuery('.dcsns-youtube .section-thumb a').each(function(){        
     $(this).attr('title', $(this).closest('.section-title').text());    
});
于 2013-01-11T15:44:35.353 に答える
-3

クラス「section-title」でスパン内のa要素内にあるテキストを取得したい、例「リンク上のテキスト」で、クラス「」でスパン内のa要素のタイトルとして使用するセクション親指」。

これは、次の jQuery で実現されます。

var text = $('span.section-title a').text();

$('span.section-thumb').attr('title', text);
于 2013-01-11T15:43:50.237 に答える