jquery - 在 JQuery Append 之后关闭样式

标签 jquery css ajax dom browser

我有一个奇怪的问题,在除 Firefox 之外的所有浏览器中都会发生。当我执行 ajax 请求并将数据附加到表中时,“显示更多”按钮丢失了填充...

在第一次加载(非 ajax)时,按钮在所有浏览器中正确显示。当我单击发送请求以获取更多数据(行)的显示更多按钮时,该按钮丢失了它的底部填充。

如果我打开 Chrome 或 IE 的开发工具并单击按钮的

或标签元素,它会恢复填充。这几乎就像 DOM 需要刷新或其他东西来触发要显示的填充。

<!-- Html table -->
<div class="cont">
        <table id="table">
            <tbody>
                <tr>
                    <td>Record Data</td>
                </tr>
            </tbody>
        </table>
        <p><a id="showData"href="#">Show More</a></p>     
     </div> 

<!-- CSS -->
    #table { position: relative; width: 800px; height: 470px; overflow-y: scroll; padding: 10px;  }
    #showData { display: block; padding-top: 10px; }


 <!-- Event handler for Show more button -->
 <script type="text/javascript">
    $(function () {       
        $('#showData').click(function () {

            $.ajax({
                ...
                success: function (data) {                        
                    $('#table tbody').append(data.d.Html);
                },
            });

            return false;
        });
    });
</script>

返回数据

ajax 调用只返回一堆表格行。任何返回的 html 中都没有类或 ID。

调用返回的数据示例

<tr>
<td>some returned data 1</td>
</tr>
 <tr>
<td>some returned data 2</td>
</tr>
<tr>
<td>some returned data 3</td>
</tr>

最佳答案

尝试:

#showData {
    display: block;
    ...
}

一个你忘了关闭<p> :

<p><a id="showData" href="#">Show More</a></p> <!-- there! -->

关于jquery - 在 JQuery Append 之后关闭样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9642325/

相关文章:

javascript - 弹出后如何正确触发 Action

javascript - 查找表单中选中的复选框数量,结果是实际数量的两倍

html - Chrome 无法始终如一地呈现 CSS mask 图像

html - CSS 中的固定和叠加位置

Javascript/jQuery 对象范围问题

javascript - 过滤 JSON 对象比通过 ajax 查询数据库更快吗?

asp.net-mvc - jQuery.Load() 不触发 ASP.NET MVC2 中的 Request.IsAjaxRequest

javascript - 在 Firefox 4 for Android 中禁用文档上的触摸事件

css - 隐藏除主页以外的所有页面标题

javascript - 在表单中使用 jQuery 使用箭头键跳转到下一个输入字段