私のコードは以下のようです。最初の警告は "test li 0"とその幅1024を表示しますが、1024幅は正しくありません。実際は約50ピクセルです。テキストの幅を "test li 0"にしたい。 テキストの幅はどのように取得できますか? ペッカが提案jqueryを使って "li"の幅を探したい。どのようにテキストの幅を取得できますか?どうすればいいですか?
$(document).ready(function() {
var total = 0;
var i=0;
$('#menutop > span> li').each(function(index) {
//var tesi = jQuery("#i_"+i).css('width');
var tesi = jQuery("#i_"+i).width();
alert(tesi + ':' + $(this).text());
total = parseInt(total) + parseInt(tesi);
i=parseInt(i)+1;
});
alert(total);
});
<ul id="menutop">
<span><li id="i_0" style="background-color:blue;"> test li 0 </li></span>
<span><li id="i_1" style="background-color:blue; width:150px;"> test li 1 </li></span>
<span><li id="i_2" style="background-color:blue; width:200px;"> test li 2 </li></span>
</ul>
「」は、「li」の外部では不正です。私はそれらを最初に削除します –
私はスパンを削除しましたが、それは私に同じ幅を与えるでしょう。 – vishal
あなたは1000ピクセル幅ではないと確信していますか? 'li'要素は通常' display:block'であり、画面全体の幅を占めているからです。 –