尝试查看元素在样式标记中是否具有特定的CSS属性

时间:2013-04-08 04:39:04

标签: javascript jquery css

我正在尝试做类似的事情:

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)

但我不确定那是我应该做什么,或者是否还有另一种方式。

1 个答案:

答案 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使用..