jquery克隆一个链接(每个div一次)

时间:2016-04-06 21:22:12

标签: javascript jquery clone

我有一组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>

我需要更改哪些才能使其正常工作?

3 个答案:

答案 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(); 
}); 

检查以下代码段

&#13;
&#13;
$(".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;
&#13;
&#13;

答案 2 :(得分:0)

我相信你应该使用last(如果我理解正确的话):

var lastDiv = $(".mobile-link").last();
$(".course a:eq(0)").clone().appendTo(lastDiv);   

这是jsfiddle:fiddle