我尝试用一些DIV的ID替换一些href属性。
我有一个包含(例如)三个链接且没有href值的列表,如:
<ul id="Downloads">
<li><a href="">Some content 1</a></li>
<li><a href="">Some content 2</a></li>
<li><a href="">Some content 3</a></li>
</ul>
我在同一页面上也有一些DIV,容器中有唯一的ID:
<div id="DownloadsContent">
<div id="221">Some content</div>
<div id="325">Some content</div>
<div id="124">Some content</div>
</div>
我想获取三个DIV的ID并将它们设置为三个链接的href属性,如:
<li><a href="#221">Some content 1</a></li>
<li><a href="#325">Some content 2</a></li>
<li><a href="#124">Some content 3</a></li>
我尝试使用.map和.each函数,但是在我当前的尝试中,我得到了像<a href="221,325,124"></a>
这样的链接 - 所以href属性被替换为整个字符串。
这是我的方法:
var id = $('#DownloadsContent > div').map(function() { return this.id }).get();
$.each(id,function() {
$("#Downloads li a").attr('href', id);
});
答案 0 :(得分:1)
您可以使用attr
方法。
var $divs = $('#DownloadsContent > div');
$('#Downloads a').attr('href', function(i, c){
return '#' + $divs.eq(i).attr('id')
})
答案 1 :(得分:0)
您需要使用THIS进行迭代,并且每次都选择不同的(在本例中为i):
$.each(id,function(i) {
$("#Downloads li a").eq(i).attr('href', this);
});
(编辑感谢评论)