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 代码仅适用于单个 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)在每个正文中给出element集合中 html 的 jQuery 对象。

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 回答