忽略溢出:jQuery中的隐藏元素

时间:2011-12-20 09:39:32

标签: javascript jquery

我使用jQuery为具有页内编辑功能的webapp计算DOM元素的高亮蒙版。由于元素可以更改尺寸,因此将在悬停时动态计算遮罩。

其中一个元素是图像滚动条,因此有一个溢出:隐藏在超宽div中的图像。我遇到的问题是让jQuery忽略带溢出的元素:隐藏在宽度/高度计算中。

简而言之:是否有一个jQuery选择器来忽略溢出隐藏的DOM节点?

3 个答案:

答案 0 :(得分:1)

您可以创建自定义jQuery选择器,例如evenodd,您可以将其命名为notOverflowHidden

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

你可以得到一个溢出属性的节点集合,如下所示:

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

答案 1 :(得分: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
    });
 });

答案 2 :(得分: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/