0

div私はそれらの多くの間で見えるのは1つだけです。どのように選択できますか?

次のコードは localhost では機能しますが、オンラインでは機能しません。

var page_div_visible = $(".gform_page").filter(":visible");

divs.each() を使用してウォークスルーし、.is(":visible") で選択できることはわかっていますが、1 行のソリューションをお勧めします。ありえない?

編集:

html は次のようになります。

<div id='gform_page_20_6' class='gform_page' style='display:none;'>
</div>
<div id='gform_page_20_7' class='gform_page' style='display:none;'>
</div>
<div id='gform_page_20_8' class='gform_page' >
</div>

編集2

オンラインで動作させることはできませんでした。これが最終的な解決策です:

var page_div_visible;

$(".gform_page").each(function(i){
    if ($(this).css("display") !== "none"){
        page_div_visible = $(this);
        return false;
    }
})

ご協力ありがとうございました。-

4

2 に答える 2

2

なぜあなたはこれをしないのですか?

 var page_div_visible = $(".gform_page:visible");

http://jsfiddle.net/JoshuaPack/AtBx3/1/

于 2012-05-02T22:42:59.790 に答える
0

どのバージョンの jQuery を使用していますか? また、コードの後に​​ $ またはクラスを div に追加することと競合している可能性があります。

他の js コードによって干渉されているというコメントを見て、$ の代わりに jQuery を使用してみてください

// at the very beginning of your main JavaScript file
var jQ = jQuery.noConflict();

// at the place where you are doing other stuff with $, like your issue
var page_div_visible = jQ(".gform_page:visible");
于 2012-05-03T18:55:04.687 に答える