2016-05-11 2 views
0

Вот что я пытаюсь сделать (слайдер): Image screenshotJQuery копировать текст из диапазона тега в другой тег диапазона

Я пытаюсь скопировать тест из диапазона, который имеет класс .panel титульные к диапазону с классом .duplicate-test.

Моего HTML код

<div class="item"> 
    <a href="./"> 
    <div class="panel-img"> 
    <img src="_assets_/images/panel-event.png" alt=""> 
    </div><!-- /.panel-img --> 
    <div class="panel-info"> 
    <div><p class="duplicate-test"></p></div> 
    <span class="panel-title">upcoming events</span> 
    </div><!-- /.panel-info --> 
    </a> 
</div><!-- /.item --> 

Мой JQuery код

$('.duplicate-test').text($(this).find('.panel-title').text()); 

Он получает текст из всех пролетов с классом .panel титула. Что-то не так с моим кодом jQuery?

ответ

1

Попробуйте это:

$('.duplicate-test').each(function() { 
    $(this).text($(this).parent().next('.panel-title').text()); 
}); 
1

Проблемы с вашим DOM обходом и использованием this.

Предполагая, что нет внешнего объема фрагмента вы показали, this будет относиться к window, а не текущему .duplicate-test элемента. Чтобы выполнить то, что вам нужно, вам необходимо передать функцию text(). Оттуда вы можете пройти, чтобы найти элемент, который вы хотите:

$('.duplicate-test').text(function() { 
    return $(this).closest('.panel-info').find('.panel-title').text(); 
}); 

Working example

Смежные вопросы