试图查看一个元素是否在样式标签中有特定的CSS属性

Trying to see if an element has a particular CSS attribute in the style tag

本文关键字:标签 样式 属性 CSS 是否 元素 一个      更新时间:2023-09-26

我想做的是:

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)

但我不确定我是否应该这样做,或者是否有其他方法。

你很接近…但是试试这个…

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来代替