Текст jQuery из диапазона в заголовок

Я новичок в 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>

Я хочу получить текст, который находится внутри элемента a внутри диапазона с классом «заголовок раздела», в примере «Текст по ссылке» и использовать его в качестве заголовка для элемента a внутри диапазона с классом « раздел-большой палец».

Следующий код jQuery работает только для одного div:

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

Как я могу заставить это работать, если у меня есть несколько div, добавляя к каждому элементу внутри диапазона с классом «раздел-большой палец», соответствующий тексту из элемента внутри диапазона с классом «заголовок раздела»?


person user1970346    schedule 11.01.2013    source источник
comment
Ваш последний вопрос не ясен. В вашем примере HTML нет div.   -  person crush    schedule 11.01.2013
comment
@crush Что ты имеешь в виду. В этом вопросе есть div.   -  person Denys Séguret    schedule 11.01.2013


Ответы (3)


Вы можете сделать это:

$('.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();
});

Демонстрация

person Denys Séguret    schedule 11.01.2013
comment
В примере HTML нет элементов DIV!? - person crush; 11.01.2013

Вам нужно использовать jQuery each() для доступа ко всем элементам, указанным в селекторе. каждый () перебирает коллекцию, возвращаемую селектором, и $(this) в каждом теле дает объект jQuery html element в коллекции.

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

Я хочу получить текст, который находится внутри элемента a внутри диапазона с классом «заголовок раздела», в примере «Текст по ссылке» и использовать его в качестве заголовка для элемента a внутри диапазона с классом « раздел-большой палец».

Это достигается с помощью этого jQuery:

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

$('span.section-thumb').attr('title', text);
person crush    schedule 11.01.2013