如何避免获取在另一个页面内调用的html页面的一部分?

时间:2014-02-27 17:51:42

标签: javascript html load

我在另一个网页(比如B.html)中调用.html页面(比如A.html,每次发出请求时由另一个软件动态创建)。我是通过使用.load()函数来做到这一点的。一切正常,但问题是我不想在A.html结尾出现这么多“br”标签(空标签)到B.html。有没有办法避免将这些“br”标签提取到B.html中?任何建议都会有很大帮助。提前谢谢。

3 个答案:

答案 0 :(得分:0)

你喊出删除A.html中的br标签。

用marging-top:30px更改类.sequence来替换它们 并且在你的B.html文件中有另一个值。

你也可以运行:

$('br', '.sequence').remove();​

在加载函数中。它将剥离所有br标签。

答案 1 :(得分:0)

当您刚刚访问文件时,无法避免加载部分文件。

最好的选择是简单地从文档中删除额外的<br>标记。可能有更好的方法来完成他们想要完成的任何事情。

使用某些服务器端脚本,可以在加载时自动删除它们,但可能会非常麻烦。

相反,如果由于某种原因无法移除<br>元素,那么如果您只处理少量<br>标记可能会更容易,只需将它们删除即可。

由于你提到使用load()函数,我猜你正在使用jQuery。

如果是这种情况,那么这样的话会干净地从文档的末尾删除任何额外的<br>标记。

这是一个JSfiddle:http://jsfiddle.net/dMJ2F/

var html = "<p>A</p><br><p>B</p><br><p>C</p><br><br /><br/>";
var $html = $('<div>').append(html);
var $br;

while (($br = $html.find('br:last-child')).length > 0) {
    $br.remove();
}

$('p').text($html.html());

基本上,将加载的东西放入div(在内存中),然后循环并删除末尾的每个<br>,直到没有。您也可以使用正则表达式执行此操作,但它会运行此jQuery方法所没有的一些风险。

答案 2 :(得分:0)

你无法避免获取页面的一部分,但是你只能获取它的一部分。

根据jQuery docs,你可以像这样调用load:

$("#result").load("urlorpage #form-id");

这样,您只需在结果元素中加载表单html。