Trouver des éléments avec position: attribut

J'essayerais de trouver tous les éléments "absolus" dans ma page; Avec jQuery, je serais quelque chose comme

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

Mais sur ff 10.0.2 je ne trouve pas un élément …

En outre, je ne peux pas exécuter le code exaple sur http://api.jquery.com/attribute-equals-selector/ Y at-il quelque chose qui ne va pas sur cette syntaxe?

Vous pouvez utiliser le filter()

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

Vous ne pouvez pas utiliser l'égaliseur d'attributs, car ce sélecteur rechercherait des éléments avec un attribut appelé position qui équivaut à un absolu comme celui-ci

  <div position="absolute"> 

Mais dans la position de votre cas est une propriété css

S'appuyant sur la réponse de Nicola, vous pouvez également étendre le moteur de sélection de 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'; } }); 

Ensuite, vous pouvez faire des choses comme ça.

$ (': Absolu');

$ ('Div.sidebar: relative');

Essaye ça:

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

Demo: http://jsfiddle.net/XRRbr/1/

Plus d'infos: http://api.jquery.com/attribute-contains-selector/