获取LI元素的offsetWidth(或等效值)

Dan*_*ams 2 javascript jquery

所以我正在尝试使用jQuery获取元素的宽度。

alert($("#theList li:eq(0)").offsetWidth);
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)

Med*_*uly 5

jQuery具有$(elem).width()返回offsetWidth元素的功能

alert($("#theList li:eq(0)").width());
Run Code Online (Sandbox Code Playgroud)
<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>
Run Code Online (Sandbox Code Playgroud)

  • jquery `.width()` 仅包含内容宽度。如果你真的想要一个相当于 `.offsetWidth` 的东西,你需要使用 jquery `.outerWidth()` (2认同)

小智 5

您错误地将 jQuery 和标准 Javascript 混合在一起。

要使用 .outerWidth 你需要访问 DOM 元素:

alert($("#theList li:eq(0)")[0].offsetWidth);
Run Code Online (Sandbox Code Playgroud)

或者你可以使用 jQuery 的.outerWidth()

alert($("#theList li:eq(0)").outerWidth());
Run Code Online (Sandbox Code Playgroud)