1

私は現在、テーブルのサーチャーを作成していますが、問題が発生しました。

これは動作しないコードです:

var temporary = $(this).parent('tr');
temporary.find("td:nth-of-type("+indexColumn+"):contains(is)").css("background","yellow");

そのように別々に書くと、うまくいきます:

temporary.find("td:nth-of-type("+indexColumn+")").css("background","yellow");    
temporary.find("td:contains(is)").css("background","yellow");

別々に書かれていない場合、このエラーが発生します。

"Syntax error, unrecognized expression: unsupported pseudo: nth-of-type"

私のせいはどこですか?

返信ありがとうございます。

アップデート:

<table> 
   <tr> <td></td> <td></td> <td></td> <td></td> <td></td> </tr>
   <tr> <td class="stat"></td> <td></td> <td></td> <td></td> <td></td> </tr> 
   <tr> <td class="stat"></td> <td></td> <td></td> <td></td> <td></td> </tr> 
</table> 

td を見つけてclass="stat"、たとえば、指定されたテキストを含む 4 番目の列を取得したい

回答: すべての回答に感謝します。1.10.2 で jQuery を更新しましたが、動作します。

4

2 に答える 2

2

あなたの構造を見なければ、 との両方tdに一致する要素がないと仮定する必要があります。 :nth-of-type("+indexColumn+"):contains(is)

またはtdに一致する要素を選択する場合は、次のようにカンマで区切って 2 つのクエリを組み合わせることができます。:nth-of-type("+indexColumn+") :contains(is)

.find("td:nth-of-type("+indexColumn+"), td:contains(is)")

編集-

あなたのコメントに応えて:nth-of-type()、1.9 でセレクターが追加されました: http://api.jquery.com/nth-of-type-selector

于 2013-10-23T14:55:40.440 に答える
0

最初のスニペットは、is を含む n 番目の列を見つけることです。

2番目のスニペット(「個別に書く」場所)は次のとおりです。

1) n列目

2) is を含む列。

isあなたのhtmlがn番目の列に含まれていてはならないため、最初のものは機能しません。

于 2013-10-23T14:57:22.070 に答える