我有一个脚本如下:
$('.Addable').find('input').each(function () {
if ($(this).attr('name')) {
var Name = $(this).attr('name');
var Number = Name;
if (Name.substring(Name.length - 1) == ']') {
var Fi = Name.lastIndexOf("[") + 1;
var Li = Name.lastIndexOf("]");
if (Fi > -1) {
Number = Name.substring(Fi, Li);
if (Number > Indx) {
Number = Number - 1;
$(this).attr('name', Name.substring(0, Fi) + Number + ']');
}
}
}
}
});
所以更改input
的名称是完美的,现在我需要更改所有元素input
s像select
s我认为替换第一行:
$('.Addable').children().each(function () {
但那不起作用,那么你选择所有子元素的建议是什么?
答案 0 :(得分:5)
对于所有后代元素,你可以做@gdoron建议的内容。如果您要查找所有表单字段,而不仅仅是input
,那么您可以使用:input
选择器,该选择器也匹配select
,textarea
等:
$('.Addable').find(':input').each(function() { ... });
答案 1 :(得分:2)
那么您选择所有子元素的建议是什么?
选项:强>
$('.Addable *').each(function () {
$('.Addable').find('*').each(function () {
jQuery('*')
docs:
描述:选择所有元素 警告:全选或通用选择器非常慢,除非单独使用。