Vit*_*lio 13 javascript jquery
我会尝试在页面中找到所有"绝对"元素; 用jQuery我虽然会有类似的东西
$('[position="absolute"]')
Run Code Online (Sandbox Code Playgroud)
但是在ff 10.0.2我找不到一个元素......
另外,我无法在http://api.jquery.com/attribute-equals-selector/上运行exaple代码 .这种语法有什么问题吗?
Nic*_*tti 19
你可以用 filter()
$('*').filter(function(){
var position = $(this).css('position');
return position === 'absolute';
});
Run Code Online (Sandbox Code Playgroud)
您不能使用属性等于选择器,因为该选择器将使用名为position的属性搜索元素,该属性等于绝对值
<div position="absolute">
Run Code Online (Sandbox Code Playgroud)
但在你的情况下,position是一个css属性
Pat*_*ney 10
基于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';
}
});
Run Code Online (Sandbox Code Playgroud)
然后你可以做这样的事情.
$( ':绝对');
$( 'div.sidebar:相对');