用于在td中首次出现span的jQuery选择器

时间:2012-09-26 12:07:46

标签: jquery jquery-selectors jquery-filter

我有以下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个跨度。

我可以通过选择器或过滤器执行此操作吗? 我必须用什么来实现这个目标?

3 个答案:

答案 0 :(得分:10)

试试这个:

​$('td').find('span:first')

http://jsfiddle.net/qDAt8/

请注意,您的加价无效。

答案 1 :(得分:2)

修复HTML后,这将有效:

$('td').find('span:first');

DEMO

上面的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会更有效地查找元素。