4

我有一个 HTML 代码,如下所示。我想a使用 jQuery 选择所有包含 (anchor) 作为直接子级 (Here First TD tag) 的 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>

4

7 回答 7

5

描述

很多方法可以做到这一点

您可以使用父 css 选择器或 jQuery 的parent()函数。查看示例和这个jsFiddle 演示

样本

  1. ​$("td > a").parent()
  2. $("td > a:parent")

更多信息

于 2012-04-20T08:06:07.143 回答
4

这应该可以解决问题:

$("td > a").parent();
于 2012-04-20T08:05:48.847 回答
3

请记住,jQuery 有:has()伪选择器。

$('td:has(> a)')

这将选择所有<td>具有直接<a>子元素的元素。

于 2012-04-20T08:26:31.253 回答
2

使用 css 子选择器选择锚点以检查锚点是否是 td 的子项,然后调用父项

$('td > a').parent();
于 2012-04-20T08:08:23.430 回答
0

就像是

$('td').filter(function(){
    if($(this).children('a').length > 0){
        return this;
    });
于 2012-04-20T08:06:37.807 回答
0

如果你给你的桌子一个#id,你可以做这样的事情:

$(function(){
    myTds = [];
    $('#mytable td>a').each(function(){
        myTds.push($(this).parent())
    })

//do stuff with your tds
});
于 2012-04-20T08:09:36.060 回答
0
var listOfTD = $("table td > a").parent();

这使您所有的 td 都具有锚定作为直接子项,从表中。我的建议是给表提供 id 而不是你应该写的:

var listOfTD = $("#tableid td > a").parent();
于 2012-04-20T08:10:16.910 回答