我对物体很陌生,希望有人可以帮助我。
我有一个表格,如下所示(减少了演示的列和行):
<table id="myTable">
<thead>
</thead>
<tbody>
<tr>
<td>1.</td><td>Item 1</td><td>10</td>
</tr>
<tr>
<td>2.</td><td>Item 2</td><td>5</td>
</tr>
<tr>
<td>3.</td><td>Item 3</td><td>3</td>
</tr>
//...
</tbody>
</table>
有没有办法可以使用包含第2列和第3列中所有值的jQuery创建一个对象(数组),并返回与以下内容相同的内容? 这将是完全相同的布局,即单引号,逗号和空格。
[
['Item 1', 10],
['Item 2', 5],
['Item 3', 3],
//...
]
非常感谢你提供任何帮助,蒂姆。
答案 0 :(得分:3)
var array = new Array();
$("#myTable tr").each(function(){
array.push(new Array($(this).find("td:eq(1)").text(), $(this).find("td:eq(2)").text()));
});
答案 1 :(得分:1)
我没有测试过这个,但这就是这个想法:
var myAns = [];
$('#myTable tbody').each(function () {
var row = $(this);
var rowColumns = [];
row.each(function (){
rowColums.push($(this).html());
})
myAns.push(rowColumns);
});
//myAns should be in the format you want
希望它有所帮助!
答案 2 :(得分:1)
我也不是Jquery最好的,但我会像这样接近它:
var firstCol = [];
var secondCol = [];
$(document).ready(function () {
//GET values
$("#myTable tr:has(td)").each(function () {
var cell = $(this).find("td:eq(1)");
firstCol.push(cell.html());
});
$("#myTable tr:has(td)").each(function () {
var cell = $(this).find("td:eq(2)");
secondCol.push(cell.html());
});
alert('From first column: ' + firstCol);
alert('From second column: ' + secondCol);
});
这是一个FIDDLE
编辑:嘿嘿,抱歉带我走了这么久......我有另一个解决方案,但是我再也不是Jquery的大师了,所以可能有更好的办法这个。事实上,我很确定。 (如果需要纠正,请调用更好的Jquery dudes来纠正代码:)
无论如何,这里有一个新的FIDDLE。