7

<span>さまざまなテキスト コンテンツを持つ要素がたくさんあるとします。

どうすれば最も広くなり<span>ますか?

jQueryは問題ありません。幅自体の値ではなく、スパンを特定することだけに関心があります。

同様の質問がここにあります。しかし、それらは幅の値しか取得しません。

これが私が始める方法です:

$('span').each(function(id, value){
  if ($(this).width() > w) {
    largestSpan = id;
  }
});
4

2 に答える 2

18
var maxWidth = 0;
var widestSpan = null;
var $element;
$("span").each(function(){
   $element = $(this);
   if($element.width() > maxWidth){
     maxWidth = $element.width();
     widestSpan = $element; 
   }

});
于 2013-07-07T01:45:55.937 に答える
5

jQuery を使用して div 内の最も広いスパンを特定する:

var oSpan;             // Container object for loop item
var oWidest;           // Container object for current widest in loop
var nWidth = 0;        // Int to store current span width
var nWidest = 0;       // Int to contain widest items width
var aWidest = [];      // Array to contain multiple matching spans

// Call each function on spans within div
$('#divContainer span').each(function(nIndex) 
{
    // Set reference to current span to avoid multiple calls per iteration 
    oSpan = $(this);
    // Set current width to avoid multiple calls per iteration
    nSpanWidth = oSpan.width();

    // Compare current width to widest width
    if (nSpanWidth == nWidest)
    {
        // If exact,add to array and set current widest items
        aWidest.push(oSpan);
        oWidest = oSpan;
        nWidest = nSpanWidth;
    }
    else if( nSpanWidth >= nWidest ) 
    {
        // If wider, reset array and set current widest item
        oWidest = oSpan;
        nWidest = nSpanWidth;
        aWidest = [].push(oWidest)
    }
    else { } // Move along short stuff.
});
于 2013-07-07T01:47:11.020 に答える