如何加载外部HTML内容以便由此JS代码操作?

时间:2012-07-08 12:22:25

标签: javascript jquery

在另一个用户的帮助下,我有以下JSFiddle查看表并删除我不需要的列。

http://jsfiddle.net/9qme9/

我想要做的是从外部文件加载HTML(实际上是一个aspx文件),而不是在同一页面上操作HTML - 就像上面的链接一样。

我正在离线/客户端这样做,所以PHP是不可能的,并且aspx文件与我的页面不在同一个位置。

我是初学者,所以我很欣赏JSFiddle的例子。

非常感谢

2 个答案:

答案 0 :(得分:1)

你可以使用

 $("#elem").load("url.aspx");

其中#elem是要放置外部网址内容的HTML元素的ID

检查这个例子: http://jsfiddle.net/9qme9/5/

答案 1 :(得分:1)

在将过滤表附加到页面之前,我建议使用以下内容,其中包含过滤掉您不想要的列的上一个答案:

$(document).ready(function() {

    //define which column headers to keep
    $("#gvRealtime")
        .load("http://fiddle.jshell.net/UqZjt/show/", function(response, status, xhr){
            var html = $(response),
                table = html.find('#gvRealtime'),
                headersToKeep = ['---', 'C6', 'C7', 'C13', 'C14'],
                colsToKeep = [],
                ths = table.find('th');

            $.each(headersToKeep, function(i, v) {
                //finds each header and adds its index to the colsToKeep
                colsToKeep.push(ths.filter(function() {
                    return $(this).text() == v;
                }).index());
            });

            //makes a new jQuery object containing only the headers/cells not present in the colsToKeep
            $('th, td', '#gvRealtime, #gvTotal').filter(function() {
                return $.inArray($(this).index(), colsToKeep) == -1;
            }).hide(); //and hides them
        });

});

JS Fiddle demo