我有一个表格,我希望获得除第一行之外的所有行的HTML。
<table id="files-table">
<tbody>
<tr>
<th class="text-left">Name</th>
<th>Type</th>
<th class="delete-th">Delete</th>
</tr>
<tr>
<td class="text-left"><label class="label-none">a.docx</label></td>
<td><label class="label-none">Manuscript</label></td>
<td><input type="checkbox" class="del-cb"></td>
</tr>
<tr>
<td class="text-left"><label class="label-none">test2.doc</label></td>
<td><label class="label-none">Manuscript</label></td>
<td><input type="checkbox" class="del-cb"></td>
</tr>
</tbody>
</table>
当我使用
时$('#files-table> tbody > tr').not(':first').html()
我只得到第二行的HTML,这是第三行的HTML?
答案 0 :(得分:2)
因为html
方法返回第一个匹配元素的html
内容。
获取匹配元素集中第一个元素的HTML内容。
您可以使用each()
方法,试试这个:
$('#files-table> tbody > tr').not(':first').each(function(){
console.log($(this).html())
})
<强> Fiddle 强>
您可以定义变量并存储匹配元素的html内容:
var html = '';
$('#files-table> tbody > tr:not(":first")').each(function(){
html += $(this).html()
})
答案 1 :(得分:1)
这是因为你没有循环遍历每个tr对象 - 所以它只会返回第一个对象,即第二个tr
$('#files-table> tbody > tr').not(':first').each(function(){
console.log($(this).html());
});