【问题标题】:Displaying Width of Tables on Page with jQuery使用 jQuery 在页面上显示表格的宽度
【发布时间】: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


【解决方案1】:

试试下面的代码

$(document).on("pageshow", function () {          
    $("table:visible").each(function () {
        alert($(this).width());
    });
});

【讨论】:

    【解决方案2】:

    在 width() 之后添加括号给了我想要的功能。

    【讨论】:

    • 即使是在佩德罗的评论之后?
    • 我只关心规则和规定。根据第 9.323 条第 23.3 条第 23.3 条,规则 29.23 重复 3 我已经开始对 zessx 表示赞赏。再次感谢你的帮助。 :-)
    猜你喜欢
    • 2012-02-18
    • 2021-12-26
    • 2014-11-30
    • 2011-03-10
    • 2010-12-01
    • 2022-07-22
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多