我正在尝试做类似的事情:
var $list = new Array();
$selector.each(function(){
if ( $(this).has(css("position")) ){
$list.push($(this));
}
});
看起来我的工作方式似乎并不奏效。我看到了一个看起来像的例子:
var bg = ('element').parents().filter(function() {
return $(this).css('background').length > 0;
}).eq(0)
但我不确定那是我应该做什么,或者是否还有另一种方式。
答案 0 :(得分:3)
你很接近......但试试这个..
var $list = new Array();
$selector.each(function(){
if ( $(this).css("position") ){
$list.push($(this));
}
});
更好的方法是检测位置类型,即:
var $list = new Array();
$selector.each(function(){
if ( $(this).css("position") == "absolute" ){
$list.push($(this));
}
});
修改强>
根据您上面的评论,您可能需要检查除特定位置LEFT TOP之外的其他内容,因为默认情况下这些位置将为0px,因此可能会检查值而不是实际属性。
此外,您可以$(this).offset().left
或$(this).position().left
使用..