我会尝试在页面中找到所有“绝对”元素;使用jQuery我虽然它会像
$('[position="absolute"]')
但是在ff 10.0.2我找不到元素......
另外,我无法在http://api.jquery.com/attribute-equals-selector/上运行exaple代码 这种语法有问题吗?
答案 0 :(得分:18)
您可以使用filter()
$('*').filter(function(){
var position = $(this).css('position');
return position === 'absolute';
});
你不能使用属性等于选择器因为因为那个选择器会搜索一个名为position的属性的元素,就像这样绝对
<div position="absolute">
但在你的情况下,position是一个css属性
答案 1 :(得分:10)
根据Nicola的回答,你也可以extend jQuery's selector engine。
$.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:相对');
答案 2 :(得分:0)
试试这个:
$("*[style*='position:absolute']").each (function () {
alert($(this).html());
});