如何在Jquery中为id属性添加一个额外的参数?

时间:2018-01-09 10:42:03

标签: jquery

我有一个循环,我获取所有输入字段。所有这些输入都有一个id。我想要实现的是我只在现有id中添加一个额外的字符串。我想这很容易,但我找不到任何东西。

我试过这个,但它只用新ID替换现有ID:

$('input').attr('id', '_' + votingID);

2 个答案:

答案 0 :(得分:7)

要实现此目的,您可以将函数传递给attr()方法。这个函数接受两个参数;当前元素的索引及其当前设置。您需要做的就是根据当前函数返回该函数的新值,如下所示:

$('input').attr('id', function(i, id) {
  return id + '_' + votingID;
});

jQuery documentation

中的更多信息

答案 1 :(得分:1)

带有2个参数的$.attr()函数用第二个参数替换等于第一个参数的属性值。如果您使用一个参数(例如$.attr())致电$.attr('id'),则会获得指定属性的值。

有了这些信息,你可以做你想做的事:

$('input').attr('id', $('input').attr('id') + '_'+votingID);

如果您输入的输入超过1,则可能无法正常运行,您必须使用$.each(),如下所示:

$('input').each(function(index, value) {
    $(value).attr('id', $(value).attr('id') + '_'+votingID);
});