选择具有特定宽度的div

快速问题:如何选择具有一定宽度的div。 例如,我们在一个页面中有10个div,我想选择宽度为200px并执行某些操作的那个。 非常感谢。

JCOC611说了什么:

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

那会让你得到一个jQuery对象,其中包含所有匹配(200px)的div。 可能不是世界上最快的东西; 如果可以的话,更直接和明确地识别您的页面元素可能会更好。

你也可以扩展jQuery的伪选择器,如下所示:

 // 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(); 

这个恕我直言比使用filter()更有趣,但jsperf显示它只是稍微慢一点(慢4%)。

这是一个你可以玩的jsFiddle 。