如何将其他网页的div加载到我的网页而不是整个页面?

时间:2014-11-27 06:45:58

标签: javascript jquery html

我有两个网页internal.html和external.html

我在internal.html中有以下代码,它将external.html加载到id为“result”

的div中
   <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
   <script>
function autoRefresh_div()
{
      $("#result").load("https://abc/external.html");// a function which will load data from other file after x seconds
 }

  setInterval('autoRefresh_div()', 5000); // refresh div after 5 secs
            </script>

我在external.html中有一个id为“test”的div 如何只将id为“test”的external加载到具有id“result”而不是整个页面的internal.html的div中?

2 个答案:

答案 0 :(得分:5)

http://api.jquery.com/load/

加载页面片段

与$ .get()不同,.load()方法允许我们指定要插入的远程文档的一部分。这是通过url参数的特殊语法实现的。如果字符串中包含一个或多个空格字符,则假定第一个空格后面的字符串部分是jQuery选择器,用于确定要加载的内容。

我们可以修改上面的示例,只使用提取的文档的一部分:

$( "#result" ).load( "ajax/test.html #container" );

当此方法执行时,它会检索ajax / test.html的内容,但随后jQuery会解析返回的文档以查找ID为container的元素。此元素及其内容将插入到具有结果ID的元素中,并且将丢弃检索到的文档的其余部分。

jQuery使用浏览器的.innerHTML属性来解析检索到的文档并将其插入到当前文档中。在此过程中,浏览器通常会过滤文档中的元素,例如,或元素。因此,.load()检索的元素可能与浏览器直接检索文档的内容不完全相同。


在您的情况下,您希望将代码修改为:

$("#result").load("https://abc/external.html #test")

答案 1 :(得分:4)

使用:

$("#result").load("https://abc/external.html #test");