jquery - 如何使用 Jquery 获取 td 值并存储在数组中?
问题描述
我正在寻找一种方法来获取(第一,第二,第三等等)td 值,并将它们存储在数组中。
each
用于迭代 td :
$("table tbody tr td").each(function(i,e){
console.log($(this).html());
});
使用此代码,我需要获取所有列值,例如:
George
Princeton
Alabama
Pizza
如何使用相应的键将这些值存储在数组中:Name, College, State, Food
. 我在想这个:
var array = [];
$("table tbody tr td").each(function(i,e){
array['Name'] = $(this) ?? //I dont know how get the first td.
});
我不知道这是否是迭代表的最佳方式,但我认为我在如何获取第一个、第二个、第三个 td 值方面遗漏了一些东西。
表:(这只是一个例子,值是动态创建的)
<table >
<tbody>
<tr>
<td> George </td>
<td> Princeton </td>
<td> Alabama </td>
<td> Pizza </td>
</tr>
<tr>
<td> Charli</td>
<td> Princeton </td>
<td> Alabama </td>
<td> Milk Shake </td>
</tr>
<tr>
<td> Max</td>
<td> Princeton </td>
<td> Alabama </td>
<td> Rice </td>
</tr>
<tr>
<td> Peter</td>
<td> Princeton </td>
<td> Alabama </td>
<td> Fast Food </td>
</tr>
</tbody>
</table>
解决方案
const arrayFromJQuery = $("table tbody tr").map(function(i, row) {
const data = $('td', row);
return {
Name: data.eq(0).text().trim(),
College: data.eq(1).text().trim(),
State: data.eq(2).text().trim(),
Food: data.eq(3).text().trim()
}
}).get();
console.log(arrayFromJQuery);
// or without jquery, just modern JS
const array = [...document.querySelectorAll("table tbody tr")].map((row) => {
const [Name, College, State, Food] = [...row.querySelectorAll('td')].map(td => td.textContent.trim());
return {
Name,
College,
State,
Food
}
})
console.log(array);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td> George </td>
<td> Princeton </td>
<td> Alabama </td>
<td> Pizza </td>
</tr>
<tr>
<td> Charli</td>
<td> Princeton </td>
<td> Alabama </td>
<td> Milk Shake </td>
</tr>
<tr>
<td> Max</td>
<td> Princeton </td>
<td> Alabama </td>
<td> Rice </td>
</tr>
<tr>
<td> Peter</td>
<td> Princeton </td>
<td> Alabama </td>
<td> Fast Food </td>
</tr>
</tbody>
</table>
推荐阅读
- javascript - 在 for 循环中更新全局对象的属性 .onSnapshot() 仅更新最后一个对象
- c - 在 C 中使用 NULL 宏时,在 '(' 标记之前预期 ')'
- javascript - React - 当我们点击一个 img 时启用/禁用组件
- c# - 热键和搜索框功能的解决方法
- c++ - 带有cairo的sdl中的MapRGB,颜色错误
- python - 如何在熊猫df中将单个行绘制为线图
- android - Flutter in_app_purchase 1.0.6 在 Android 设备上失败并显示错误消息:“W/BillingClient(15440): getSkuDetails() failed. Response code: 2”
- java - 比较二维数组中一行的元素。如果最大元素之后的元素没有减少,那么较小的元素应该等于较大的元素
- python - 从另一个文件检查对象实例类型
- javascript - 将下拉列表从 Python 重新填充到 jQuery 网页