3 回答

TA貢獻1859條經驗 獲得超6個贊
表內容轉數組
var myTableData = Array.prototype.map.call(document.querySelectorAll('#myTable tr'), function(row){
return Array.prototype.map.call(row.querySelectorAll('td'), function(td){
return td.innerHTML;
});
});
console.log(myTableData)
<table id="myTable">
<tr>
<td>1</td>
<td>a</td>
</tr>
<tr>
<td>2</td>
<td>b</td>
</tr>
<tr>
<td>3</td>
<td>c</td>
</tr>
</table>

TA貢獻1842條經驗 獲得超21個贊
這是ES6版本
const myTableData = [...document.querySelectorAll('#myTable tr')]
.map(row => [...row.querySelectorAll('td')]
.map(cell => cell.textContent));
console.log(myTableData)
<table>
<tbody id="myTable">
<tr>
<td>1</td>
<td>a</td>
</tr>
<tr>
<td>2</td>
<td>b</td>
</tr>
<tr>
<td>3</td>
<td>c</td>
</tr>
</tbody>
</table>

TA貢獻1833條經驗 獲得超4個贊
我假設您的問題中定義的問題行是標題。您可以使用querySelectorAllindocument獲取所有行,然后將其映射到數組中。希望下面的代碼有幫助:
function getAllProblemRowElements() {
const tableContents = document.querySelectorAll("#app > div > div > div > div.table-responsive > table > tbody > tr");
const sources = Array.from(tableContents,source=>source.children[2].getAttribute("value"))
return sources;
}
添加回答
舉報