我有以下HTML
<table>
<tr>
<td><span></span></td>
<td><a><span></span></a></td>
<td><span></span><span><span/></td>
</tr>
<table/>
我需要在每个td中选择跨度的第一个外观。 我会从上面的HTML中删除3个跨度。
$('td span')
返回所有(4)跨度
$('td span:first-child')
还返回所有范围
$('td span:first')
仅返回第一个
$('td > span')
仅返回2个跨度。
我可以通过选择器或过滤器执行此操作吗? 我必须用什么来实现这个目标?
答案 0 :(得分:10)
答案 1 :(得分:2)
修复HTML后,这将有效:
$('td').find('span:first');
上面的DEMO使用以下示例HTML和visualy突出显示匹配元素:
<table>
<tr>
<td><span>span 1.1</span><span>span 1.2</span></td>
<td><a><span>span 2.1</span><span>span 2.2</span></a></td>
<td><span>span 3.1</span><span>span 3.2</span></td>
</tr>
</table>
答案 2 :(得分:1)
$("table td").find("span:first")
给你三个第一个跨度。当您提供更详细的搜索时,jQuery会更有效地查找元素。