例如,我有一个列表,我需要从中提取href:
<ul class="list1">
<li><a href="link1">Link1</a></li>
<li><a href="link2">Link2</a></li>
<li><a href="link3">Link3</a></li>
</ul>
BTW,这个论坛的垃圾邮件保护不允许我添加任何超链接,这就是为什么上面的代码在语义上是不正确的。
并按顺序将这些href应用于下面的列表
<ul class="list2">
<li><a>Link1</a></li>
<li><a>Link2</a></li>
<li><a>Link3</a></li>
</ul>
它是动态的(意思是我想要的第一个列表中有很多href),所以我不打算使用eq或nth,我已经通过在这个论坛中阅读帮助得到了这一点,但目前还不清楚关于如何继续将hrefs应用于第二个列表:
var hrefs = '';
$('ul#direction-fade-slider li a.url').each(function(idx, item) {
hrefs += item.href + '\n';
});
任何帮助将不胜感激!谢谢!
答案 0 :(得分:3)
您可以使用.each()
循环执行此操作:
var anchors = $("ul.list2 a");
$("ul.list1 a").each(function(i) {
anchors.get(i).href = this.href;
});
所有这一切都是在获取目标锚点(或者你可以反转它......),按顺序循环遍历<a>
元素并在同一索引处设置相应的href
元素在目的地.list2
。
或者,您可以像这样使用.attr()
:
var source = $("ul.list1 a");
$("ul.list2 a").attr('href', function(i) {
return source.eq(i).attr('href');
});