如何使用Javascript访问另一个页面';s元素?
假设我有一个页面如何使用Javascript访问另一个页面';s元素?,javascript,html,css,Javascript,Html,Css,假设我有一个页面a.html,并希望使用它的idname从另一个页面b.html检索文本元素的文本,使用jQuery,这非常简单: $.get('a.html', null, function(text){ alert($(text).find('#name')); }); 原始XHR请求(按大众需求): 如果页面位于同一域中,则可以使用jQuery.ajax()或jQuery.load() 您需要: 获取页面内容(您暗示这不会是一个问题,所以我不会讨论如何解决这个问题) 将其解析为H
a.html
,并希望使用它的idname
从另一个页面b.html检索文本元素的文本,使用jQuery,这非常简单:
$.get('a.html', null, function(text){
alert($(text).find('#name'));
});
原始XHR请求(按大众需求):
如果页面位于同一域中,则可以使用jQuery.ajax()或jQuery.load()
您需要:
获取页面内容(您暗示这不会是一个问题,所以我不会讨论如何解决这个问题)
将其解析为HTMLDOM
提取您关心的DOM部分
用那个DOM做点什么
这是相当多的工作。将为您完成大部分工作:
jQuery('#element_to_load_content_into').load('a.html#name'); // Note use of fragment identifier
从iframe
请求页面,然后获取元素。但是你不想让服务器返回你想要的数据吗?@kmb385的可能重复:只要第二个页面在同一个域上,这是完全可行的。因为你没有要求jQuery,需要注意的是,您不需要要求用户下载和评估整个jQuery库来获得简单的XHR支持。jQuery没有$。load
方法,仅仅为了一个简单的XHR请求而加载一个大型库未免太过分了。@user1689607真的吗?!如果客户端浏览器的缓存中已经有jQuery,这是不是太过分了?@Xander:你怎么知道它是否在缓存中?@user1689607-错。虽然仅仅发出一个XHR请求可能有些过分,但这并不是发出一个XHR请求,从生成的HTML文档中提取数据,然后将数据添加到当前页面的DOM中。当然,如果OP有其他用途,那么它可能值得下载,但我不会太快地假设缓存的可能性如此之高。同样,每个CDN都有几十个版本。有很多网站使用一个旧版本(甚至可能是一个未统一的版本)。所以这真的是一帆风顺。@Prathamesdoke-自从我写下这个答案以来,没有什么根本性的改变。这“加载”了一个网页的一部分,我看到很多主体元素不存在于我加载内容的元素中。知道如何让它加载所有内容吗?@Shayan-我不知道你在做什么,也不知道你在处理什么数据。试着问一个新问题,并参考上下文。
$.ajax({
url: url,
data: data,
success: success,
dataType: dataType
});
jQuery('#element_to_load_content_into').load('a.html#name'); // Note use of fragment identifier