2011-05-19 84 views

回答

6

您可以選擇與:hidden隱藏要素,以及可見的元素與:visible ...

$('div:visible'); 

jsFiddle

...但如果你特別需要那些沒有display; none設定爲內嵌風格的元素,試試這個...

$('div').filter(function() { 
    return $(this).attr('style') == undefined || $(this).attr('style').indexOf('display: none;') == -1 
}). 

jsFiddle

......當然,如果你依靠這個,你應該重新思考你的問題。

+0

您的建議很棒!但你的代碼只是選擇「display:none」的元素,那麼如何選擇沒有「display:none」的元素? – 2011-05-19 03:02:58

+0

@Charles是的,我不小心做了相反的事情!檢查更新:) – alex 2011-05-19 03:03:52

+0

謝謝!你真棒 – 2011-05-19 03:06:24

0

我有一個類似的問題,並發現這個有用的帖子。上面的答案是足夠的,但我想要做到這一點,而不使用indexOf方法,因爲它對我來說並不直觀。

這是我想出的和相關的bin。我在上面留下了上面的答案代碼,以顯示它們都工作。希望這有助於作爲替代方法。 http://jsbin.com/coroxa/1/edit?html,js,output

$('.bottom-drawer').filter(function() { 
    //return $(this).attr('style').indexOf('display: block;') === 0; 
    return $(this).is("[style*='display: block']") === true; 
}).slideToggle(620); 
相關問題