我有一个html结构如下 -
<ul id='abc'>
<li>
<table>
<tbody>
<tr>
<td>
A
</td>
</tr>
</tbody>
</table>
</li>
<li>
<table>
<tbody>
<tr>
<td>
B
</td>
</tr>
</tbody>
</table>
</li>
...
...
</ul>
我想使用jquery将A,B,C ...值存储在数组中。请帮助...
答案 0 :(得分:3)
您可以使用$.fn.map()
将数组或对象中的所有项目转换为新的项目数组。
var arr = $('#abc td').map(function(){
return $(this).text();
}).get();
答案 1 :(得分:2)
这是你想要的:
var values = [];
$('ul li').find('td').each(function() {
values.push($(this).html());
});
答案 2 :(得分:1)
你可以通过
的javascript来做到这一点的元素的实时HTMLCollection
Element.getElementsByTagName()
方法返回具有给定标记名称
var values = []
var tableUl = document.getElementById("abc");
var cells = tableUl.getElementsByTagName("td");
for (var i = 0; i < cells.length; i++) {
values.push( cells[i].textContent.trim());
}
答案 3 :(得分:1)
这应该有效:
var values = $('ul#abc td').map(function() { return $(this).text(); });
答案 4 :(得分:1)
尝试使用.text()
,String.prototype.match()
var res = $("#abc td").text().match(/\w+/gi)
console.log(res)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<ul id='abc'>
<li>
<table>
<tbody>
<tr>
<td>
A
</td>
</tr>
</tbody>
</table>
</li>
<li>
<table>
<tbody>
<tr>
<td>
B
</td>
</tr>
</tbody>
</table>
</li>
</ul>
答案 5 :(得分:0)
另一种方式是:
$("ul#abc li td:first-child").each(function () {
//alert($(this).text());
console.log($(this).text());
});