Javascript 尝试在ajax加载后使用jquery追加

Javascript 尝试在ajax加载后使用jquery追加,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个脚本,可以在单击列名时对表行进行排序 我想在列名的末尾添加一个三角形,单击该列可以显示表排序的列 <script> $(document).ready(function(){ $('.data-table a').click(function(){ var el = $(this); $('body').load('http://mysite.com/index.php/site/table/index/

我有一个脚本,可以在单击列名时对表行进行排序

我想在列名的末尾添加一个三角形,单击该列可以显示表排序的列

<script>
    $(document).ready(function(){
        $('.data-table a').click(function(){
            var el = $(this);
            $('body').load('http://mysite.com/index.php/site/table/index/' + $(this).attr('id')).ajaxComplete(function(){
                el.append('&#9650;');
            });
           return false;
        });
    });
</script>

$(文档).ready(函数(){
$('.data table a')。单击(函数(){
var el=$(本);
$('body')。加载('body')http://mysite.com/index.php/site/table/index/'+$(this.attr('id')).ajaxComplete(function(){
el.append(“▲;”);
});
返回false;
});
});
该表排序正确,但我无法将HTML实体附加到列名的末尾

如何执行此操作?

您正在使用load语句杀死“body”元素。试着这样做:

<script>
    $(document).ready(function(){
        $('.data-table a').click(function(){
            var el = $(this);
            $('#target_element').load('http://mysite.com/index.php/site/table/index/' + $(this).attr('id')).ajaxComplete(function(){
                el.append('&#9650;');
            });
           return false;
        });
    });
</script>

$(文档).ready(函数(){
$('.data table a')。单击(函数(){
var el=$(本);
$('#目标元素')。加载('http://mysite.com/index.php/site/table/index/'+$(this.attr('id')).ajaxComplete(function(){
el.append(“▲;”);
});
返回false;
});
});

其中“#target_元素”指内容中的位置,其内容将被ajax请求的结果替换。

为什么要链接ajaxComplete,只需使用回调
el
就可以了,因为您将其替换为.load。如果你要更换身体,为什么不做一整页刷新?@KevinB我认为你说的不对。el=这个,请仔细解释一下
el
是单击的锚定标记。锚定标记必须是主体的子项。负载替换了身体内的所有东西,因此锚定标签被替换。除该变量外,此引用的元素不再存在。除非将该变量追加回DOM中,否则修改该变量不会有任何作用。@KevinB aha。。谢谢你让我注意到这一点。非常感谢:)或者再查一下箭头的位置<代码>$('.data table a')。追加('▲;')它应该做OP的代码所做的事情,但是。。。为什么要附加到
元素?@jvenema这在CodeIgniter中,我想使用相同的视图。