javascript - 如何将生成的数字 ID 附加到某些链接

标签 javascript jquery

我已经生成了数字 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]

最佳答案

您可以同时针对 <a> 执行此操作使用 .eq(Index)
(其中 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
});

http://jsbin.com/joraja/1/edit?html,css,js,console,output


https://api.jquery.com/eq/

关于javascript - 如何将生成的数字 ID 附加到某些链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34298594/

相关文章:

Javascript 与 jQuery v1.11 或更低版本不兼容

javascript - 如何检查 webpack merge 的输出

javascript - bing map 添加更多图钉

javascript - 在方法之间传递 jQuery 元素数据?

javascript - 不断淡入淡出

javascript - 在页面范围的 div 上检测滚动事件

javascript - "Synchrounous"AJAX调用和web2py

jQuery:捕获 anchor href onclick 并异步提交

javascript - 使用 jquery.validationEngine.js 处理默认表单值

javascript - ObservableArray 在 KnockOut JS 中选择选项