4

以下のようなHTMLコードがあります。ajQueryを使用して、(アンカー)を含むすべてのtdを直接の子(ここでは最初の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 に答える