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

我有两个网页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中?

最佳答案
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")

转载注明原文:javascript – 如何将其他网页的div加载到我的网页而不是整个页面? - 代码日志