2017-03-17 58 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); 
}); 
相关问题