我有一个具有唯一ID的输入字段列表,希望将name属性更改为与每个输入字段id相同。我有以下代码:
<script>
jQuery( document ).ready(function() {
jQuery(".input-class").each(function() {
var saveId=jQuery(this).attr("id");
jQuery(".input-class").attr("name", saveId);
});
});
</script>
不幸的是,它接受第一个输入字段的名称,并将其放入所有后面。如何重置或重新检查每个元素的变量?
发布于 2017-06-16 13:05:00
应该使用jQuery(this)
为其中的每一个命名。当你使用jQuery(".input-class").attr("name", saveId)
的时候,它会给它们起相同的名字。
<script>
jQuery( document ).ready(function() {
jQuery(".input-class").each(function() {
var saveId=jQuery(this).attr("id");
jQuery(this).attr("name", saveId);
});
});
</script>
发布于 2017-06-16 13:18:08
jQuery(".input-class").each(function() {
jQuery(this).attr("name", jQuery(this).attr("id"));
});
任务是获取每个元素的id,并将id设置为每个元素的名称。
在循环中运行jQuery(".input-class").attr('name', jQuery(this).attr('id'))
将导致所有实例在它能找到的第一个引用中被更改,因为如果您对一个或多个元素执行此操作,jQuery不会给出任何警告。
假设您在页面上有5个元素,当您执行jQuery(this).attr('id')
时,您将在第一次迭代中获得第一个元素的id,但是jQuery(".input-class").attr('name', value)
将导致所有元素的id都被更新
发布于 2017-06-16 13:21:11
尝尝这个
$( document ).ready(function() {
$(".input-class").each(function() {
$(this).attr("name", $(this).attr("id"));
});
});
https://stackoverflow.com/questions/44589900
复制相似问题