jQuery - 获取页面的HTML内容并删除表单元素

时间:2011-09-29 15:05:42

标签: jquery asp.net html

我有一个在ASP.NET webforms中输出HTML的页面。

我通过以下方式向此页面发出请求:

$(document).ready(function () {
            $.get("Preview.aspx?ID=1", function (data) {
                alert("Data Loaded: " + data);
            });
        });

问题是preview.aspx页面返回带有表单元素的HTML。我想用什么都不替换这些表单元素。

如何从上面的数据对象中删除所有表单元素?

编辑:为了清楚起见,我需要保留所有HTML,只替换表单元素。

编辑2:对不起,我应该更清楚。这是一个HTML简报。基本上页面是纯HTML,但是网页形式(yuck)有所有形式的mumbo jumbo。我想获取没有表单元素的页面内容。到目前为止,下面的想法是行不通的。 .load有效,但是当我添加:not('form')时,HTML格式不正确。 get var elem = $(data).find('form')。html();当我执行警报(数据)时,即使表单肯定存在,也会返回null。

1 个答案:

答案 0 :(得分:2)

使用jQuery的.load方法可能会更好。这样,您可以使用任何jQuery选择器从外部页面中选择一个片段。

如果您将Preview.aspx中的所有相关信息包装在<div id="whatever">标记中,则可以使用

提取该信息
$('<div/>').load('Preview.aspx?ID=1 #whatever', function() {
    var preview = $(this).html();
});

- 它具有忽略所有html / head / body /等的额外好处。该文件中的标签。

您也可以通过这种方式使用它,这将获得不是forminput标记的所有内容,但可能会让表单中的其他内容通过。仔细使用并根据需要进行修改:

$('<div/>').load('Preview.aspx?ID=1 :not("form"):not("input")', function() {
    var preview = $(this).html();
});