javascript - 从 HMTL 表创建 Javascript 对象
问题描述
我有一张像
<table id="misc_inputs">
<thead>
<tr><th>Property</th><th>Input</th></tr>
</thead>
<tbody>
<tr>
<td>a</td>
<td><input type="number" value="1"></td>
</tr>
<tr>
<td>b</td>
<td><input type="number" value="2"></td>
</tr>
...
我想将该表转换为 Javascript 对象,例如
misc_inputs = {"a": 1, "b": 2, ...
如何生成结果?
解决方案
您可以使用以下可重复使用的 javascript 方法将任何 HTML 表格转换为 Javascript 对象。
<table id="MyTable">
<thead>
<tr><th>Property</th><th>Input</th></tr>
</thead>
<tbody>
<tr>
<td>a</td>
<td><input type="number" value="1"></td>
</tr>
<tr>
<td>b</td>
<td><input type="number" value="2"></td>
</tr>
</tbody>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
$(document).ready(function () {
function ConvertHTMLToJSObject(htmlTableId)
{
var objArr = {};
var trList = $('#' + htmlTableId).find('tr');
$('#' + htmlTableId).find('tbody tr').each(function ()
{
var row = $(this);
var key = $(row).first().text().trim();
var value = $(row).find('input').attr("value");
objArr[key] = value;
});
return objArr;
}
var obj = ConvertHTMLToJSObject("MyTable");
console.log(obj);
});
推荐阅读
- python - 如果夹具中存在异常,则 Pytest 类级别夹具针对每个方法运行
- php - 如何获取由 Carbon::parse() 解析日期时间字符串的格式说明符
- c++ - 将代码编译为库时未在工厂中注册的对象,但可以独立运行
- asp.net-mvc - 使用模型和 id 路由到 POST 方法
- scala - 如何使用来自 scala 2.11 的 java 8 的流收集?
- python-3.x - 捕获 FutureWarning 的来源(导入)
- django - ValueError:视图 Account.views.Login 未返回 HttpResponse 对象。它返回 None 而不是
- vulkan - Vulkan:描述符集兼容性
- ios - 每当用户触摸包含该文本的 UITextField 时,如何将光标放在文本的末尾?
- javascript - 如何在 amp 中转换 react/vue.js 事件