如果你想采用老式的纯 JavaScript 方式,你可以做一些简单的 DOM 遍历。
如果您id
在表格中添加一个,您的生活会轻松很多,特别是如果您在页面中有(或以后可能添加)其他表格。
<table id="nameTable">
...
</table>
现在您可以在 JavaScript 中访问该表并将对它的引用存储在一个变量中。您还需要初始化一个空数组/列表变量以稍后保存名称。
var nameTable = document.getElementById("nameTable");
var nameArray = [];
接下来,您开始循环遍历表格的子元素,每个子元素都是一个tr
(表格行)元素。
for (var i=0; i<nameTable.childNodes.length; i++) {
...
}
在该for
循环中,您将构建 [first name, last name] 对的列表。您将通过获取td
当前行的两个(表格数据单元格)子项中的每一个的值来做到这一点。
var dataCells = nameTable.childNodes[i].childNodes;
var namePair = [dataCells[0].innerHTML, dataCells[1].innerHTML];
这应该会给你一个类似这样的 JSON 数组(我的值添加):
[
["Andy", "Jackson"],
["Barry", "Obama"],
["Benny", "Franklin"],
["Georgey", "Washington"],
["Billy", "Clinton"]
]
回顾一下,完整的代码看起来像这样:
var nameTable = document.getElementById("nameTable");
var nameArray = [];
for (var i=0; i<nameTable.childNodes.length; i++) {
var dataCells = nameTable.childNodes[i].childNodes;
var namePair = [dataCells[0].innerHTML, dataCells[1].innerHTML];
}
注意:这很有趣,但如果您不介意源代码中的硬编码 JSON 数组(如果您在那里有表格,那真的没关系),那么更好的解决方案可能是可能像@JayBhatt 建议的那样直接从 PHP 的标签中打印一个json_encode
d 数组。<script>
这可能是更快的方法,并且对用户浏览器的压力要小得多。