width()
この場合、単に使用するだけで機能します。
しかし、あなたの質問の性質を考えると、あなたは申請display: inline
したul
ので、その幅はDOMで読み取ることができないと思います。
この場合、次のli
ように要素をループして幅を合計できます。
var ulWidth = 0;
$("li").each(function() {
ulWidth = ulWidth + $(this).width()
});
alert(ulWidth);
フィドルの例
中央に配置されたリストを模倣するには、ULタグと集合LIタグの両方の幅を見つける必要があります。
<!doctype html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script>
jQuery(document).ready(function($){
var w = 0;
$('ul > li').each(function(){ w+= $(this).width(); });
$('ul > li:first').css({'margin-left': ($('ul').width()-w)/2+'px'});
});
</script>
<style type="text/css">
ul,li { margin:0; padding:0; }
ul { list-style: none }
li { float: left; }
</style>
</head>
<body>
<ul>
<li>Questions</li>
<li>Tags</li>
<li>Users</li>
</ul>
</body>
</html>