查找具有position:attribute的元素

我会尝试在我的页面中找到所有“绝对”元素; 用jQuery我虽然会有类似的东西

$('[position="absolute"]') 

但是在ff 10.0.2我找不到一个元素……

另外,我无法在http://api.jquery.com/attribute-equals-selector/上运行exaple代码这个语法有什么问题吗?

你可以使用filter()

 $('*').filter(function(){ var position = $(this).css('position'); return position === 'absolute'; }); 

你不能使用属性等于选择器,因为因为那个选择器会搜索一个名为position的属性,这个属性就像这样绝对

  

但在你的情况下,position是一个css属性

基于Nicola的答案,您还可以扩展jQuery的选择器引擎 。

 $.extend($.expr[':'],{ absolute: function(el) { return $(el).css('position') === 'absolute'; }, relative: function (el) { return $(el).css('position') === 'relative'; }, static: function (el) { return $(el).css('position') === 'static'; }, fixed: function (el) { return $(el).css('position') === 'fixed'; } }); 

然后你可以做这样的事情。

$( ‘:绝对’);

$( ‘div.sidebar:相对’);

试试这个:

 $("*[style*='position:absolute']").each (function () { alert($(this).html()); }); 

演示: http : //jsfiddle.net/XRRbr/1/

更多信息: http : //api.jquery.com/attribute-contains-selector/