我有一些表格数据,我需要将它们放入一个数组中,这样我就可以在代码中的其他位置查找匹配项。所以我需要转换它:
<td> Name 1 </td>
<td> Name 2 </td>
<td> Name 3 </td>
成:
['Name 1', 'Name 2', 'Name 3']
这不起作用:
$('td').text().toArray();
我真的希望它会:)我需要获取输入的文本并将其与现有的<td>
进行比较以确保它是唯一的,所以如果有更好的方法来解决它,我我很乐意听到它。我知道我可以创建一个空数组,创建一个循环或使用$ .each()和push()每个.text()到数组,但必须有一个更简洁的方法。
答案 0 :(得分:2)
您可以使用如下的jQuery map()
方法。
var arr = $('td').map(function (){
return $(this).text().trim();
}).get();
console.log(arr);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td> Name 1 </td>
<td> Name 2 </td>
<td> Name 3 </td>
</tr>
</table>
&#13;
答案 1 :(得分:1)
您需要遍历元素并获取每个文本。在普通的js你可以这样做:
var result = Array.prototype.map.call(document.getElementsByTagName("td"), function(el) {
return el.innerHTML.trim();
});
console.log(result)
&#13;
<table>
<tr>
<td> Name 1 </td>
<td> Name 2 </td>
<td> Name 3 </td>
</tr>
</table>
&#13;