我已在列表中生成要应用的数字ID,如下所示:
var _href = $('li').attr('id', function (i, _) {
return 'item-' + (i + 1);
});
现在我想将这些ID放在一些链接中,这是我的代码:
$("a").attr({
href: "#item-" + _href
});
我需要的是一个带有ID(li#item-1
,li#item-2
,...)的多个重复列表以及一些带有这些ID的链接
但它不起作用,结果是:#item-[object Object
]
答案 0 :(得分:5)
您可以使用<a>
执行同时定位.eq(Index)
(其中索引是当前LI的索引迭代)
var $a = $("a"); // P.S: use some better selector like i.e. $("#menu").find("a");
$('li').attr('id', function (i, _) {
var id = "item-" + (i+1); // Prepare the result
$a.eq(i).attr("href", "#"+ id); // Assign result with #HASH to Anchors .eq()
return id; // Return result as ID
});
答案 1 :(得分:0)
或者你可以试试这个:JS Fiddle
var _href = $('li').attr('id', function (i, _) {
return 'item-' + (i + 1);
});
$('a').each(function(index){
var x = $('li')[index];
$(this).attr('href', '#' + $(x).attr('id'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<a>Link 1</a>
<a>Link 2</a>
<a>Link 3</a>
<a>Link 4</a>
<a>Link 5</a>
<ul>
<li>example 1</li>
<li>example 2</li>
<li>example 3</li>
<li>example 4</li>
<li>example 5</li>
</ul>