从跨度到标题的jQuery文本

时间:2013-01-11 15:42:20

标签: jquery attr

我是一个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”获取span内部元素内的文本,在示例“链接上的文本”中使用它作为span中元素的标题“section-thumb”类。

以下jQuery代码仅适用于一个div:

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

如果我有几个div,我可以如何使这个工作,使用类“section-thumb”在span中添加每个元素,并使用类“section-title”在span中的元素上添加相应的文本?

3 个答案:

答案 0 :(得分:4)

你可以这样做:

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

$(someselector, this)搜索this内的元素。

Demonstration

您也可以将回调传递给attr

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

Demonstration

答案 1 :(得分:2)

您需要使用jQuery each()来访问给定为选择器的所有元素。 each()遍历由selector返回的集合,每个body中的$(this)在集合中提供html element的jQuery对象。

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

答案 2 :(得分:-3)

  

我希望使用类“section-title”获取span内部元素内的文本,在示例“链接上的文本”中使用它作为span中元素的标题“section-thumb”类。

这是通过这个jQuery完成的:

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

$('span.section-thumb').attr('title', text);