Javascript 如何使用jQuery获取元素中的所有输入?

Javascript 如何使用jQuery获取元素中的所有输入?,javascript,jquery,html,Javascript,Jquery,Html,我不熟悉jQuery。我试图获取div元素中的所有输入。以下是我到目前为止编写的代码: $(".pros_earnings_delete_annual_earning").click(function(e) { e.preventDefault(); var target = $(e.target); var parent = target.parent(".total-for-earnings"); var inputs = parent.children(":

我不熟悉jQuery。我试图获取div元素中的所有输入。以下是我到目前为止编写的代码:

$(".pros_earnings_delete_annual_earning").click(function(e) {
    e.preventDefault();
    var target = $(e.target);
    var parent = target.parent(".total-for-earnings");
    var inputs = parent.children(":input");
    console.log(inputs);
    $.each(inputs, function(index, value) {
        console.log(value);
    });
});
当我单击时,我得到以下信息:

[prevObject: v.fn.v.init[0], context: button.pros_earnings_delete_annual_earning, selector: ".parent(.total-for-earnings).children(:input)", constructor: function, init: function…]
每个方法似乎都没有输出任何内容

HTML:


2013年总计:
千
一百万
十亿
美元
拯救
-
简单地说:

var $inputs = $(':input',parent)
将匹配父元素上下文中的所有输入

您是
console.log
正在输出表示此集合中每个项的jQuery对象,如果需要输入值,只需询问:

$inputs.each(function(){
    console.log($(this).val());
})
另外还有一个bug-
target.parent(…)
应该是
target.parents(…)
(复数)


活生生的例子:

问题就在这一行

var parent = target.parent(".total-for-earnings");
改为

var parent = target.parents(".total-for-earnings");
改变

var target = $(e.target);
var parent = target.parent(".total-for-earnings");
var inputs = parent.children(":input");  
对,


你能分享你的HTML吗?你能展示你的HTML吗?我的猜测是没有匹配的元素,可能是因为直接父元素与选择器不匹配as
.children()
将只找到父元素的直接子元素。。同样的方法
var parent=target.closest(“.total for earning”)如果收入总额不是目标元素的直接父元素,只需添加find(),我会检查它。:)@Jean-NicolasBoulayDesjardins,完成:)删除输入前面的“:”。因为它选择了事件“select”元素。无论如何,它是完美的。如果你愿意,就留着吧。:)
var target = $(e.target);
var parent = target.parent(".total-for-earnings");
var inputs = parent.children(":input");  
var parent = $(this).closest(".total-for-earnings");
var inputs = parent.find(":input");  //Unlike children(), find() will go any depth to match.