javascript - 如何设置链接的动态ID?

标签 javascript jquery html

<分区>

我有一个水平菜单。我想使用 jQuery 为每个创建一个 id。我的代码是:

<div class="menuBar">
    <div class="menuHeader ui-corner-top">
        <span><a href="#" onclick="Home()">Home</a></span>
    </div>
    <div class="menuHeader ui-corner-top">
        <span><a href="#" onclick="NewTransaction()" id="menu2">New Transaction</a></span>
    </div>
</div>

这里的菜单没有id。我想使用 jQuery 动态创建 id。我怎样才能做到这一点?我做了一个这样的例子,但它不起作用:

var i = 0;
$('.menuHeader').each(function () {
    i++;
    newID = menu + i;
    $(this).attr('id', newID);
    $(this).val(i);
});

最佳答案

.each() 方法旨在使 DOM 循环结构简洁且不易出错。当被调用时,它遍历作为 jQuery 对象一部分的 DOM 元素。每次回调运行时,它都会通过当前循环迭代,从 0 开始。

当您将 menu 字符串与 i 变量连接时,您还省略了引号。

$('.menuHeader').each(function (i) {
  $(this).find('a').attr('id', 'menu' + (i + 1));
  $(this).html((i + 1) + '. ' + $(this).html());
});

jsFiddle Demo

关于javascript - 如何设置链接的动态ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15761750/

相关文章:

javascript - 在事件中为链接添加样式

javascript - 如何使用 Blade 在 Laravel 中显示选择框所选选项的详细信息?

javascript - 等待时循环替换 <div> 的内容

jquery - 在滚动时以 v 形移动两个 div

javascript - 在连续函数中使用 jQuery 的加载

javascript - 动画 Canvas 看起来像电视噪音

javascript - 无法访问 JS 正则表达式结果 - 无法读取 null 的属性 '1'

jquery - 虚拟机上运行的浏览器中的媒体查询

html - 不能垂直对齐绝对跨度

html - CSS 垂直对齐问题