fea*_*net 10 html jquery html-table jquery-selectors
我有一个数据表:
<td> item </td><td> order code </td><td> price </td>
我正在用jQuery处理表,需要查找订单代码:
$.each($('.productList tbody tr'), function() {
var orderCode = $(this).find('td:eq(1)').html().trim();
// do stuff
});
Run Code Online (Sandbox Code Playgroud)
如果没有产品,表格会显示一条消息:
<td colspan="3"> There are no products to display </td>
上面的行导致jQuery函数爆炸.使用条件选择器忽略"无产品"行最有效的方法是什么?是否有一个选择colspan="1"或colspan is not set或不管它需要是什么?
SLa*_*aks 13
像这样:
$('.productList tbody tr:has(td:nth-child(2))').each(function() {
...
});
Run Code Online (Sandbox Code Playgroud)
这将只选择<tr>具有<td>该父元素的第二个子元素的元素.(nth-child选择器是一个基础的)
不要优化你的选择器,它不会很好地扩展,因为jQuery将不得不评估每个子元素.避免错误...
$('.productList tbody tr').each(function() {
var orderCode = $(this).find('td:eq(1)');
if(orderCode.length > 0) { // Make sure it exists
orderCode = orderCode.html().trim();
// do stuff
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11998 次 |
| 最近记录: |