当前循环只是将存储的第一个href(r.e。,http://something.com/article-1)添加到具有类“copy-item-link”的所有href中。我想从相应的列表项中复制唯一的URL,并添加到包含“copy-item-class”的每个元素。这是我在运行任何js之前到目前为止所拥有的。
<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);
});
});
答案 0 :(得分: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);
});
答案 1 :(得分:0)
$('.item').each(function(){
var item = $(this),
url = item.find('.item-link a').attr('href');
item.find('.copy-item-link').attr('href', url);
});