1行目に複数の列がある場合にのみ、テーブルを選択するためにJQueryが必要

StackOverflow https://stackoverflow.com/questions/821691

  •  03-07-2019
  •  | 
  •  

質問

JQueryを使用してテーブル要素を選択して操作する必要がありますが、これには複数の列を持つ少なくとも1つの行が含まれている場合のみです。次のセレクターは機能しますが、途中でしか取得できません:

$('#my_table_is:has(tbody tr)').doSomething();

試したが成功しなかったバリエーションは次のとおりです。

$('#my_table_id:has(tbody > tr > td:eq(1))').doSomething();
$('#my_table_id:has(tbody tr:nth-child(1))').doSomething();
$('#my_table_id:has(td:eq(1))').doSomething();    

セレクターとフィルターのどの組み合わせがこの機能を実現しますか?

ところで、これが必要な理由は、複数列のsortListを持つtablesorterは、テーブル出力に1列しかない場合に明らかに爆発するからです。

役に立ちましたか?

解決

適切なoleチェックはどうですか?

if (1 < $('#tbl thead th').size()) ...

他のヒント

ハッキングする代わりに、実際にテーブルソーターを修正する方が簡単ではないでしょうか? ( http://tablesorter.com/ を意味すると仮定します)。

次のセレクターでこれを行うことができました(TableSorterの古いバージョンでも):

#tableID:has(tbody&gt; tr&gt; td + td)

アイデアは、少なくとも2つの兄弟 td を含む tr を持つ tbody がある場合にのみテーブルを検索するというものです。それ。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top