我正在尝试使用jQuery获取元素的宽度。
alert($("#theList li:eq(0)").offsetWidth);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ol id="theList">
<li>The quick brown fox
</ol>
我正在尝试使用jQuery获取元素的宽度。
alert($("#theList li:eq(0)").offsetWidth);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ol id="theList">
<li>The quick brown fox
</ol>
jQuery有一个名为$(elem).width()
的函数,它返回元素的offsetWidth
alert($("#theList li:eq(0)").width());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ol id="theList">
<li>The quick brown fox</li> <!--also you forgot closing tag -->
</ol>
您正在错误地混合使用jQuery和标准JavaScript。
要使用.outerWidth,您需要访问DOM元素:
alert($("#theList li:eq(0)")[0].offsetWidth);
或者您可以使用jQuery的.outerWidth()方法:
alert($("#theList li:eq(0)").outerWidth());
offsetWidth是HTML元素的只读属性。因此,您应该使用此机制首先获取选择的第一个元素,然后获取jQuery选择的HTMLElement并获取其属性:
$('#theList li:eq(0)')[0].offsetWidth
.width()
只包括内容宽度。如果你真的想要一个等同于.offsetWidth
的东西,你需要使用jQuery的.outerWidth()
。 - NHerwich