我有一个表格,从中提取数据并添加到一个数组的子数组中。问题是,如果其中一个单元格为空,它会以“未定义”的形式出现在数组中。我尝试使用if语句判断最后一个元素是否为undefined,如果是的话就使用.pop()方法将该元素删除。但我仍然会得到undefined的元素。以下是我的代码和实时 演示:
HTML代码:
<table id="contactlisttable">
<tr>
<th>Name</th>
<th>Title</th>
<th>Phone</th>
</tr>
<tr>
<td class="contactlist contactlistlastfirst">Joey</td>
<td class="contactlist contactlisttitle">webdesigner</td>
<td class="contactlist contactlistphone"></td>
</tr>
<tr>
<td class="contactlist contactlistlastfirst">Anthony</td>
<td class="contactlist contactlisttitle">webdesigner</td>
<td class="contactlist contactlistphone">5555555</td>
</tr>
</table>
JavaScript :
//IE9+ compatable solution
$(function(){
var results = [], row;
$('#contactlisttable').find('th, td').each(function(){
if(!this.previousElementSibling){ //New Row?
row = [];
results.push(row);
if($(this) === 'undefined'){//Remove undefined elements
row.pop();
}
}
row.push(this.textContent || this.innerText); //Add the values (textContent is standard while innerText is not)
});
console.log(results);
});