繰り返し 要素 最大値 取得
ulやdl使ったリストなどで、項目の横幅を決め打ちではなくテキストの横幅に合わせたいとき
htmlとしては
<ul id="hoge"> <li><span>リスト</span></li> <li><span>リストリスト</span></li> <li><span>リストリストリスト</span></li> </ul>
こんなんで
jsで
var this = $('#hoge li span'); // 取得先 var length = this.length; array = new Array(); for (i=0; i<length; i++){ var listWidth = this.eq(i).width(); // それぞれのwidthを array.push(listWidth); // 配列に追加してく } var num = array.indexOf(Math.max.apply(null,array)); // 最大値は配列の何番目かな var maxWidth = this.eq(num).width(); // 何番目の要素を最大値として this.css({'width':maxWidth+'px'}); // 全部のwidthを設定
なんか重そうだな−
IE8以下indexOfで引っかかるので下記も必要あれば