这是我尝试做的事情(滑块):Image screenshot
我试图将测试从具有.panel-title类的跨度复制到带有.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-title类获取所有跨度的文本。我的jQuery代码有问题吗?
答案 0 :(得分:1)
试试这个:
$('.duplicate-test').each(function() {
$(this).text($(this).parent().next('.panel-title').text());
});
答案 1 :(得分:1)
问题在于您的DOM遍历和this
的使用。
假设您所显示的代码段没有外部范围,this
将引用window
,而不是当前的.duplicate-test
元素。要执行您需要的操作,您需要将text()
方法传递给函数。从那里你可以遍历找到你想要的元素:
$('.duplicate-test').text(function() {
return $(this).closest('.panel-info').find('.panel-title').text();
});