2011-12-20 62 views
0

我正在使用jQuery爲具有頁內編輯的webapp計算DOM元素的高亮蒙版。由於元素可以更改尺寸,因此在懸停時會動態計算蒙版。忽略溢出:jQuery中的隱藏元素

其中一個元素是一個圖像卷軸,所以有一個溢出:隱藏在一個額外寬的div內的圖像。我遇到的問題是讓jQuery忽略溢出的元素:隱藏在其寬度/高度計算中。

總之:是否有一個jQuery選擇器忽略被溢出隱藏的DOM節點?

回答

1

你可以創建一個cu自定jQuery選擇,像evenodd,你可以將其命名notOverflowHidden

$.expr[':'].notOverflowHidden = function(obj){ 
    return ($(obj).css('overflow') !== 'hidden'); 
}; 

,你可以得到與overflow屬性節點的集合不會隱藏,像這樣:

$('div:notOverflowHidden').each(...); 
+0

而其他的答案都很好,這提供了必要的複雜性,並且最容易與我現有的代碼一起使用。謝謝! – Kidra 2011-12-20 10:15:23

0

現場演示http://jsfiddle.net/ZYP8Z/

//for example I am selecting divs 
$(function(){ 
    $('div').each(function(){ 
     if($(this).css('overflow')!='hidden') 
      alert($(this).html()); //your action 
    }); 
}); 
0

是的,有...

$("*").each(function(){ 
//only pick those element from DOM whose css has overflow not equal to hidden 
if($(this).css("overflow") != "hidden"){ 
    //do your logic 
} 
}); 

更多jQuery選擇,請參閱以下鏈接

http://api.jquery.com/category/selectors/