我有一组div,需要从顶部克隆链接并插入到最后一个div(mobile-link)。它要么克隆来自所有div的链接,然后立即插入所有div,要么我使用:eq(0),它将第一个链接放入所有div。
<div class="course"><a href="/accounting">Accounting</a></div>
<div class="start-date">1-1-2017</div>
<div class="credits">4</div>
<div class="location">Online</div>
<div class="mobile-link"></div>
<div class="course"><a href="/business">Business</a></div>
<div class="start-date">1-1-2017</div>
<div class="credits">3</div>
<div class="location">Online/Campus</div>
<div class="mobile-link"></div>
<script>
$(".course a:eq(0)").clone().appendTo(".mobile-link");
</script>
我需要更改哪些才能使其正常工作?
答案 0 :(得分:2)
您需要单独处理每个锚点:
$(".course").each(function() {
var myLink = $(this).find('a').clone();
$(this).nextAll('.mobile-link').first().append(myLink);
});
<强> Demo fiddle 强>
答案 1 :(得分:1)
Append 方法可以将函数作为参数,此处追加他之前的.mobile-link
<a>
第一个.course div
$(".mobile-link").append(function(){
return $(this).prevAll('.course:first').find('a:first').clone();
});
检查以下代码段
$(".mobile-link").append(function(i) {
return $(this).prevAll('.course:first').find('a:first').clone();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="course"><a href="/accounting">Accounting</a>
</div>
<div class="start-date">1-1-2017</div>
<div class="credits">4</div>
<div class="location">Online</div>
<div class="mobile-link"></div>
<div class="course"><a href="/business">Business</a>
</div>
<div class="start-date">1-1-2017</div>
<div class="credits">3</div>
<div class="location">Online/Campus</div>
<div class="mobile-link"></div>
&#13;
答案 2 :(得分:0)
我相信你应该使用last(如果我理解正确的话):
var lastDiv = $(".mobile-link").last();
$(".course a:eq(0)").clone().appendTo(lastDiv);
这是jsfiddle:fiddle