【发布时间】:2014-07-10 04:42:37
【问题描述】:
有时我会用最简单的 101 题来回答我!嗯,是时候看最新一章了。 假设我有一个包含一个或多个表格的 html 页面。使用 jQuery 我想显示找到的每个表的宽度。
这是我的简单/基本表格 html -
<table border="1" cellpadding="1" cellspacing="1" style="width: 500px;">
<thead>
<tr>
<th scope="col"></th>
<th scope="col"></th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>
</p>
<table border="1" cellpadding="1" cellspacing="1" style="width: 250px;">
<tbody>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<p>
</p>
<table border="1" cellpadding="1" cellspacing="1" style="width: 500px;">
<tbody>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</tbody>
</table>
这是我正在使用的 jQuery -
<script>
$(document).on("pageshow", function () {
$("table:visible").each(function () {
alert($(this).width);
});
});
</script>
我正在使用 pageshow,因为这将是 jquery 移动网站的一部分,但它很容易成为标准 jquery document.ready。
我确实收到了三次警报提示,但我没有获得当前表格的宽度(this)。我收到了一些像这样的长消息 -
function (i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}
那么我误解了什么明显的东西?
【问题讨论】:
-
尝试使用
$(this).width()而不是$(this).width -
你错过了括号 $(this).width();
-
哈哈哈我就是喜欢有时候自嘲。谢谢你。我想我让宽度属性与宽度函数让我感到困惑。
-
在 javascript 中获取屏幕宽度使用不带括号的语法 screen.width。不知道为什么会有差异,我认为这让我感到困惑。
标签: javascript jquery html-table width each