已解决-各种方法,谢谢我再次学到的人
的HTML
<div class="container">
<div class="row">
<div class="c1">value1</div>
<div class="c2">value2</div>
<div class="c3><input type="number" value="3" class="i1" /></div>
</div>
<div class="row">
<div class="c1">value3</div>
<div class="c2">value4</div>
<div class="c3><input type="number" value="1" class="i1" /></div>
</div>
</div>
我使用此代码提取值(此处稍作修改)
var fields = [ 'c1', 'c2','i1'];
var data = [];
$('.container .row').each(function(i, tr) {
var row = {};
for (var f = 0; f < fields.length; ++f) {
row[fields[f]] = $(tr).find('.' + fields[f]).text()
}
data.push(row);
console.log(data);
});
这很完美,但不适用于所有数据
c1 = 值1
c2 = 值2
i1 =
c1 = 值 3
c2 = 值4
i1 =
因为i1
是输入,text()
所以我不需要val()
,我想知道如何获取 的值i1
并将其添加到,row[fields[f]]
因此最终输出为:
(第 1 行)c1 = value1
c2 = 值2
i1 = 3
(第 2 行)
c1 = 值 3
c2 = 值4
i1 = 1
- 使用
if/else
不起作用它会做一个或另一个 - 添加另一个 .find() 会破坏它
- 使用 function(){} 不起作用。
- 使用 append 或 appendTo 不起作用
- 在这种情况下这似乎不起作用
必须有办法做到这一点。谁能帮帮我?