【问题标题】:unable to set element left properly with jQuery无法使用 jQuery 正确设置元素
【发布时间】:2013-06-10 15:35:09
【问题描述】:

我无法在表格旁边设置 div 的左侧位置之一。我希望“刷新”的 div 出现在表格的右侧。

这就是我的 HTML 的样子:

<div id="parentDiv">
    <table id="tbl">
        <thead>
            <th>
                Column 1
            </th>
            <th>
                Column 2
            </th>
            <th>
                Column 3
            </th>
        </thead>
        <tbody>
            <tr>
                <td>
                    Value 1
                </td>
                <td>
                    Value 2
                </td>
                <td>
                    Value 3
                </td>
            </tr>
            <tr>
                <td>
                    Value 1
                </td>
                <td>
                    Value 2
                </td>
                <td>
                    Value 3
                </td>
            </tr>
            <tr>
                <td>
                    Value 1
                </td>
                <td>
                    Value 2
                </td>
                <td>
                    Value 3
                </td>
            </tr>

        </tbody>
    </table>
    <div id="refreshing">
        Refreshing.....Please wait
</div>
</div>

这就是我的 java 脚本的样子:

var leftPosition = $('#tbl').position().left + $('#tbl').width() + 20;

$("#refreshing").css({ top: 200, left: leftPosition, position: 'absolute' });

这里是 jsFiddle:http://jsfiddle.net/bdM9y/

【问题讨论】:

  • 你不能只使用css来完成这个吗?为什么要使用 JavaScript?
  • 表会根据发出的 ajax 请求动态添加。列数不固定。
  • 也许我误解了你的问题。您的代码有效,但为什么要将 top 属性设置为 200?在这里,顶部设置为 50:jsfiddle.net/bdM9y/2
  • @roasted : 它在 IE 中不起作用
  • 看起来像是 jquery 特定版本中的一个错误,在 IE9 中为我工作:jsfiddle.net/VhpQ2

标签: jquery position offset


【解决方案1】:

我看到了您对动态加载的评论,但您仍然可以通过 css 实现这一点 - 将表格包装在同级 div 中,并将两者都浮动在父 div 内;然后,您可以将“刷新” div 对齐到父 div 的右下角,因此无论您的表格有多少行

【讨论】:

    【解决方案2】:

    不需要定位,只需将表格包裹在 div 下就可以了

        <div style="float: left">
    

    http://jsfiddle.net/mastermindw/bdM9y/3/

    【讨论】:

      【解决方案3】:

      IE9 似乎与 jQuery 2.0.2 有问题。 (可能在所有 IE 版本中只在 9 中测试过)

      它适用于:

      • jQuery 2.x
      • jQuery 1.x
      • jQuery 1.9.1

      【讨论】:

        猜你喜欢
        • 2012-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-11
        • 2011-09-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多