Javascript 无法访问输入文本字段值jQuery

Javascript 无法访问输入文本字段值jQuery,javascript,jquery,Javascript,Jquery,我无法从以下HTML访问输入字段或任何动态创建的输入字段: <div class="row"> <div class="input_fields_wrap" id="Categories"> <button class="add_field_with_subs">Add More Categories</button> <div class="input_fields"><input type="text" name="someI

我无法从以下HTML访问输入字段或任何动态创建的输入字段:

<div class="row">
<div class="input_fields_wrap" id="Categories">
<button class="add_field_with_subs">Add More Categories</button>
<div class="input_fields"><input type="text" name="someInput"><a href="#" class="add_sub_field">Add Sub-Categories</a></div>
</div>
</div>
对于每个动态创建的字段,警报将相应地触发

但是,任何试图获取适当输入文本字段值的尝试都会产生“未定义”的响应

我试过.children(“输入”).children(“输入”).last()。查找,等等


有谁能告诉我我做得不对吗?

子对象
只能遍历单个DOM级别,请使用
查找

成功

$("#Categories").find("input").each( function(){
   //your logic
});

$(this)
不是该上下文中的子对象,而不是
div
?你的
输入
没有子项。@zgood-如果它不是一个箭头函数就好了。@t.J.Crowder啊,好的,我还不习惯这种语法。虽然它是匿名函数的简写形式,但基本上:不要对
每个
回调使用箭头函数(或者如果使用箭头函数,不要使用
这个
,使用第二个参数
每个
都传递它)。所以要么
.each(function(){$(this)…})
要么
.each({$(el)=>{$(el)…})
。还要注意,jQuery对象上的
children
是一个函数,因此
.children.length
可能应该是
.children().length
。最后,如果您正在寻找输入,请考虑<代码> $(“*类别输入”)。每个(……)/代码>在代码< >类别> <代码>的输入上循环。问题中的<代码> div < /代码>是<代码>类别> /代码>的直接子集。问题是OP使用的是箭头函数。(我看到你改变了,但没有说出来。)@t.J.Crowder是的,想法是到达每个
输入。但我同意,这不一定是OP的问题,因为它也可以处理子对象-
$(“#Categories”).children(“div”).find(“input”).each()
似乎应该是
$(“#Categories”).find(“input[type=text]”。each(函数(I,j){alert($(j.val());})啊,是的,对不起。你说得很对,但是如果目标是找到
输入
s,那么简单的
$(“#类别输入”)
似乎是最直接的方法。:-)@RohitS我不确定OP是否要从dom查询中删除其他
输入。
$("#Categories").find("input").each( function(){
   //your logic
});