我正在开发一个页面,它读取另一个页面的来源,我需要从该页面中提取某些信息。我目前有这个项目使用数据来获取实时源,但是我不知道如何将这个字符串转换为文档。
我使用文档的理由是我需要使用getElementById
等来获取这些项目的价值。
我尝试了什么?
将HTML分配给我页面上的不可见div。虽然它不会呈现整个HTML字符串并提供此页面的“更短”再现,但这种工作方式仍然有效。
手动查找子字符串。你可以想象这是一种糟糕的做事方式,并提供非常不可靠的结果。
DOM解析器转换文档然后查询它,但是失败了。
任何协助都会受到重视。
相关代码:
$.ajax({
method: "GET",
dataType: '',
crossDomain: true,
xhrFields: {
withCredentials: true
},
success: function(res) {
//shows the entire source just fine.
console.log("Value of RES: " + res);
bootbox.hideAll();
//shows a "truncated" copy of the source
alert(res);
$("#hiddendiv").html(x);
var name = document.findElementById("myitem");
alert(name);
},
答案 0 :(得分:0)
在文档上创建隐藏的IFRAME。然后将该IFRAME的内容设置为要查询的HTML。在进行查询时,使用您的javascript定位IFRAME。请参阅How can I access iframe elements with Javascript?了解具体方法。
答案 1 :(得分:-2)
另一个(可能更好)选项是使用jQuery。 jQuery允许您创建HTML,操作它,并在内存中查询它。在jQuery中查询DOM元素比在纯javascript中查询更容易。请参阅:http://jquery.com/。
//Get a jQuery object representing your HTML
var $html = $( "<div><span id='label'></span></div>" );
//Query against it
var $label = $html.find( "#label" ); //finds the span with and id of 'label'