我有一个HTML代码,如下所示。
我想使用jQuery选择包含a
(锚点)的所有td作为直接子节点(Here First TD标记)。
<table>
<tr>
<td><a href="abc.aspx">ABC</a></td>
<td>Second Level<span> >> </span>
<div>
<table>
<tr>
<td><a href="efg.aspx">EFG</a></td>
</tr>
</table>
</div>
</td>
</tr>
答案 0 :(得分:5)
有很多方法可以做到这一点
您可以使用父css选择器或jQuery的parent()
函数。
查看示例和jsFiddle Demonstration
$("td > a").parent()
$("td > a:parent")
答案 1 :(得分:4)
这应该可以解决问题:
$("td > a").parent();
答案 2 :(得分:3)
请记住,jQuery具有:has()
伪选择器。
$('td:has(> a)')
这将选择所有<td>
元素,并立即生成<a>
个孩子。
答案 3 :(得分:2)
使用css子选择器选择锚点以检查锚点是否为td的子节点然后调用父节点
$('td > a').parent();
答案 4 :(得分:0)
类似
$('td').filter(function(){
if($(this).children('a').length > 0){
return this;
});
答案 5 :(得分:0)
如果你给你的桌子一个#id,你可以这样做:
$(function(){
myTds = [];
$('#mytable td>a').each(function(){
myTds.push($(this).parent())
})
//do stuff with your tds
});
答案 6 :(得分:0)
var listOfTD = $("table td > a").parent();
这会让你从桌子上看到所有td都有一个直接的孩子。我的建议是给表写id而不是你应该写的:
var listOfTD = $("#tableid td > a").parent();