可視のすべての兄弟に関して要素のインデックスを取得したいと思います。すべての可視兄弟に関するjQueryインデックス()
td.index()
は、他のすべてのtd兄弟にtdのインデックスをフェッチします。
しかし、これらのTDの一部がdisplay:none
に設定されているとどうなりますか。私はインデックスを計算するときにそれらを除外したい。 td.index(':visible')
は機能していないようです。
可視のすべての兄弟に関して要素のインデックスを取得したいと思います。すべての可視兄弟に関するjQueryインデックス()
td.index()
は、他のすべてのtd兄弟にtdのインデックスをフェッチします。
しかし、これらのTDの一部がdisplay:none
に設定されているとどうなりますか。私はインデックスを計算するときにそれらを除外したい。 td.index(':visible')
は機能していないようです。
上記の内容は、あなたが求めていることを行うはずです。基本的に、検索したい要素のセットを取得し、その中の要素のインデックスを取得します。
EDIT:jQueryの1.8 andSelf
のようは廃止されましたとaddBack
は、その代わりに使用する必要があります。
var $td = $("#theTD")
$td.siblings(":visible").addBack().index($td);
これは魔法です.. – samccone
ちょっとハッキーに見えますが、あなた自身をコレクションに追加するのではなく、親の目に見える子供を飼うだけではいかがですか? $ td.parent()。children( ":visible")。インデックス($ td); – user1689571
@ user1689571これはほぼ同等です。唯一の違いは、要素自体が表示されない場合、あなたの方法は-1を返すことです。それが心配しなければあなたの方法は完全に有効です。 –
可視性および表示はCSSでかなり異なっています。あなたがしたいのは、display:none
jQueryの ':visible'は少し異なります。 –
あなたは正しいです。 – Anand
を設定する代わりに、他のTD要素でvisibilityプロパティを非表示に設定することです。本当のインデックスは得られません。なぜなら、何もしないでください:) – Val