2017-03-17 35 views
-1

當前循環只是將第一個href(r.e.,http://something.com/article-1)添加到所有具有類「copy-item-link」的hrefs中。我想從其相應的列表項中複製唯一的url並添加到包含「copy-item-class」的每個元素。以下是我在運行任何js之前的所有內容。如何遍歷hrefs併爲每個帖子添加新元素的href

<ul> 
    <li class="item"> 
     <p class="item-link"> 
      <a href="http://something.com/article-1">Article 1</a> 
     </p> 
     <p></p> 
     <a class="copy-item-link">Read more</a> 
    </li> 
    <li class="item"> 
     <p class="item-link"> 
      <a href="http://something.com/article-2">Article 2</a> 
     </p> 
     <p></p> 
     <a class="copy-item-link">Read more</a> 
    </li> 
    <li class="item"> 
     <p class="item-link"> 
      <a href="http://something.com/article-3">Article 3</a> 
     </p> 
     <p></p> 
     <a class="copy-item-link">Read more</a> 
    </li> 
</ul> 

完全開放給任何建議。提前致謝。可以使用下面的一些幫助......

var $readMore = (".copy-item-link"); 
var $item = (".item"); 

$($item).each(function() { 
    var $itemLink = (".item-link a"); 

    $(this).each(function() { 
     var $addLink = $($itemLink).attr('href'); 
     $($readMore).attr('href', $addLink); 
    }); 

}); 

回答

2

你引用的每.item-link a在每個迭代,然後每次更新.copy-item-link爲好。

你應該在當前元素只是搜索:

$('.item').each(function() { 
    var url = $(this).find(".item-link a").attr('href'); 
    $(this).find('.copy-item-link').attr('href',url); 
}); 
+0

是啊。 find()方法正是我需要的工作。謝謝@amenadiel! – brando47

0
$('.item').each(function(){ 
    var item = $(this), 
     url = item.find('.item-link a').attr('href'); 

    item.find('.copy-item-link').attr('href', url); 
}); 
相關問題