Sélectionnez div avec une largeur spécifique

Question rapide: comment sélectionner un div avec une certaine largeur. Par exemple, nous avons 10 div dans une page, je souhaite sélectionner celui qui a une largeur de 200px et faire quelque chose. Merci beaucoup.

Ce que JCOC611 a déclaré:

var $theDivs = $('div').filter(function() { return $(this).width() === 200; }); 

Cela vous procurerait un objet jQuery avec tous les divs correspondants (200px). Ne peut-être pas être la chose la plus rapide au monde; Il serait probablement préférable d'identifier plus directement et explicitement les éléments de votre page, si vous le pouvez.

Vous pouvez également étendre les pseudo-sélecteurs de jQuery, comme ceci:

 // Extend jQuery ":" pseudo selector to include a width() test $.extend( $.expr[':'], { width: function ( element, index, selectorMatches ) { var expr = selectorMatches[3].match( /^\s*([<>]?={0,1})?\s*(\d+)\s*$/ ), elementWidth = $( element ).width(), targetWidth, comparisonOperator; if ( ! expr ){ console.log( "invalid expression" ); return false; } comparisonOperator = expr[1] || "=="; targetWidth = parseInt( expr[2] ); return eval( elementWidth + comparisonOperator + targetWidth ); } }); // Valid expressions are: // :width( 200 ), :width( = 200 ), :width( == 200 ) // :width( > 200 ), :width( >= 200 ) // :width( < 200 ), :width( <= 200 ) $('div:width( 200 )').hide(); 

Cette IMHO est beaucoup plus amusante que l'utilisation de filter() , mais jsperf montre qu'il est un peu plus lent (4% plus lent).

Voici un jsFiddle avec lequel vous pouvez jouer.