我使用下面的jquery通过jquery更改所有名称属性值iterate。我尝试将id值分配给div中所有控件的name属性,div id为Register
。这是我的代码。
$(document).ready(function () {
$.each($('#Register').children(), function () {
alert("pp");
$(this).attr("name", $(this).attr("id"));
});
});
当我运行我的页面时,上面的脚本假设要运行但它没有运行。所以指导我在哪里弄错了。感谢
最后这个工作
$(document).ready(function () {
$('#Register').find('*').each(function () {
$(this).attr("name", $(this).attr("id"));
});
});
答案 0 :(得分:1)
使用.attr( attributeName, function(index, attr) )
尝试此操作: -
$('#Register').children().attr("name", function (index, oldName) {
return this.id || '';
});
答案 1 :(得分:1)
.children()
只会给你直接的孩子(不是所有的后代)。
您应该使用.find('*')
来获取所有降序节点。
注意:您的代码会为基本节点的每个后代添加name
属性(包括div
,span
,...)。如果您只想更新input
个节点,则应为.find()
添加足够的过滤器:
.find('input')
将选择input
.find(':input')
将选择input
,select
,textarea
和button