私は自分のページに要素のコレクションを持っています。
ので:
$(".someClass")
どのようにループを通過すると、これを把握することはできますか?なぜなら、可視であれば、別の機能を起動する必要があるからです。
私は自分のページに要素のコレクションを持っています。
ので:
$(".someClass")
どのようにループを通過すると、これを把握することはできますか?なぜなら、可視であれば、別の機能を起動する必要があるからです。
$(".someClass").each(function(){
if($(this).is(":visible")){
//item is visible: do something
}
});
どうですか?あなたは何ができるか
$(".someClass:visible")
が表示されます。
:your_function()
はあなたの関数の名前です
$(".someClass").each(function(x) { if (x.style.display != "none" && x.style.visibility != "hidden") { your_function(); } });
。
$('.someClass').is(':visible')
のすべてのソリューションは信頼できません。特定の要素のスタイルがdisplay:none
またはvisibility:hidden
であるかどうかがわかります。これはではなく、で、要素が可視かどうかと同じです!
はこのような状況を考えてみましょう:
誰もが$('.someClass')
が指定した要素が非表示であることがわかります。しかし$('.someClass').is(':visible')
はtrue
を返します!
唯一の防水ソリューションは、$('.someClass')
のis(':visible')
をチェックするだけでなく、すべての親要素もチェックすることです。 がない場合のみ、親のは、is(':visible') === false
を保持しているため、実際には$('.someClass')
が表示されます。
実際、彼ら?。このケースを説明するために、バージョン1.3.2の可視と非表示セレクタのロジックを見直しました:http://docs.jquery.com/Release:jQuery_1.3.2#:visible.2F:hidden_Overhauled – montrealist
華麗で、私は逃しましたその改善!ありがとう –
ええ、私はこれが彼が探しているものだと確信しています –
うん、私はそれをさらに最適化できるとは思わない。よくできました。 – KyleFarris
$( '工ass:目に見える')。各(関数()より最適化されていないことを う{ //項目が表示されている、何か を行う} – Matt