jQuery every 循环重命名 ID 的每个实例
我有一个页面正在表中创建动态创建的行,其中输入的 ID 为“fixedRate”,
我试图重命名fixedRate id 的每个实例。这仅适用于我当前代码的 id 的第一个实例。
下面是代码:
var amountRows = $("#billTasks > tr").size();
var i=1;
$("#fixedRate").each(function(){
if (i == amountRows) {
return false;
}
this.id = this.id + i;
i++;
});
我认为代码应该工作的方式是在固定速率 ID 的每个实例的固定速率一词的末尾添加 1,2,3,...。 (即fixedRate1,fixedRate2,...)
我需要使用while循环吗?我尝试了很多不同的事情,包括 while 循环,并成功地一次又一次地使我的浏览器崩溃。所以现在我正在寻求你的帮助!
谢谢!!!
I have a page that is creating dynamically created rows in a table with an input with an ID "fixedRate"
I am trying to rename each instance of the fixedRate id. This is only working for the first instance of the id with my current code.
Here is the code:
var amountRows = $("#billTasks > tr").size();
var i=1;
$("#fixedRate").each(function(){
if (i == amountRows) {
return false;
}
this.id = this.id + i;
i++;
});
The way I think the code should work is adding a 1,2,3,... at the end of the word fixedRate for each instance of the fixedRate ID. (i.e. fixedRate1, fixedRate2,...)
Do I need to use a while loop? I have tried many different things including a while loop and have managed to crash my browser over and over. So now I am looking for your help!
thanks!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
当使用 id 选择器时,jQuery 仅返回第一个实例。
每个 id 值在文档中只能使用一次。如果为多个元素分配了相同的 ID,则使用该 ID 的查询将仅选择 DOM 中第一个匹配的元素。
http://api.jquery.com/id-selector/
由于仅返回一个元素,因此每个循环仅运行一次。
您有两种可能的解决方案。您可以更新脚本中自动生成fixedRate id 的逻辑,以便生成唯一的id,也可以让该脚本设置fixedRate 类而不是id。然后,您可以循环遍历每个类并为其分配唯一的 id。
When using the id selector, jQuery only returns the first instance.
Each id value must be used only once within a document. If more than one element has been assigned the same ID, queries that use that ID will only select the first matched element in the DOM.
http://api.jquery.com/id-selector/
Since only one element is returned, your each loop only runs once.
You have two possible solutions. You can either update the logic in your script that is automatically generating the fixedRate id so that it generates unique ids or you can have that script set a class of fixedRate instead of an id. You can then loop through each class and assign a unique id to it.
如果您想要一个广泛的组,标识符主要用于挑选出元素。
我建议您将 id 转换为一个类,例如
然后您可以使用选择器访问所有元素
,如果您想枚举所有元素,您可以在回调中使用带有两个参数的 every 函数
Identifiers are mainly for singling out elements, if you want a wide group.
I suggest you convert the id into a class such as
Then you can access all elements by using the selector
also if you want to enumerate all the elements you can use the each function with two parameters in the callback
这是行不通的,您首先必须拥有唯一的 ID。
或者不要使用
id="fixedRate"
,而是使用class="fixedRate"
并使用$(".fixedRate")
代替。发布了一个示例 jsfiddle http://jsfiddle.net/playerace/L4szw/ ,并注意该警报只出现一次。
This will not work, you either have to have unique IDs in the first place.
Or instead of having
id="fixedRate"
, make itclass="fixedRate"
and use$(".fixedRate")
instead.Posted a sample jsfiddle http://jsfiddle.net/playerace/L4szw/ , and take notice that alert only comes out once.
试试这个:
您不需要注意行数。
并使用一个类来调用所有费率,然后分配一个id。
Try this:
You dont need to look out for the amount of rows.
And use a class to call all the rates and then assign a id.
您也许可以尝试使用类似于:
JS Fiddle demo 的内容。
You could perhaps try using something akin to:
JS Fiddle demo.