7

要素を選択したいのですが、それらの先祖の 1 つが特定のセレクターと一致する場合はそうではありません。

<a>たとえば、テーブルの子孫ではないすべてのノードに一致させたいとします。

私はこのようなことを試しました:

$("a", ":not(table *)");

しかし、それは私のブラウザをクラッシュさせます。

これも私のブラウザをハングさせます:

jQuery("a", ":not(table td)");

照会されたページは非常に大きく、非常に大きなテーブルがたくさんあります。だから、私もうまく機能するものが必要です。何か案は?

4

3 に答える 3

7

他の答えは、複雑すぎるものです。

$('a').not('table a');

-また-

$('a:not(table a)');

関数の 2 番目のパラメーターはjQuery、要素を検索するコンテキストですが、選択すると、テーブルの子孫を含む、テーブルではないすべて:not(table)の要素が選択されます。通常、検索したい特定のドキュメントまたは要素がある場合は、コンテキスト パラメーターを使用します。

于 2011-02-11T16:38:56.397 に答える
0
$('a').not(function() {
   return $(this).closest('table').length > 0;
});

<td>または、常にタグの直接の子である場合は、より高速になる可能性があります

$('a').not(function() {
   return $(this).parent('td').length > 0;
});
于 2011-02-11T16:35:11.220 に答える
0

使用する:

$("a").not("td a")

このフィドルをチェックしてください。

于 2011-02-11T16:38:43.927 に答える