如何从url html源代码中获取特定信息

时间:2015-01-29 16:08:17

标签: javascript html

我正在尝试从网址链接html源代码将信息链接到同一域中的另一个网页,并从html代码中获取特定信息,例如获取范围ID和来自<td>的信息 并更改内部html代码<span id="myspan"> here is my text </span> 到了我得到的。

我下面的代码无效,不确定原因

function loadHTML(spanId, url) {
    var xmlhttp = new XMLHttpRequest();


    xmlhttp.open("GET", url, true);
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 /* complete */) {
                    handler(xmlhttp.responseText, spanId);
              }

    }

    }


    function handler(responseText, spanId) {
    var parser =new DOMParser();
    var doc = parser.parseFromString(responseText, "text/html");

    //get class name from parser


    var status = doc.getElementsByTagName("tr");
    var className  = status[1].className;

    //get the date/time from parser 
    var tds = doc.getElementsByTagName("td");
    var dateTime = tds[0].innerText;


    var span = document.getElementById(spanId);
    span.id= className;
    span.innerHTML = dateTime;

    }

     loadHTML('myspan',"any given url");
<span id="myspan"> here is my text </span>

1 个答案:

答案 0 :(得分:0)

在xmlhttp.onreadystatechange之后你需要调用xmlhttp.send()来启动http请求

正确的代码在这里

&#13;
&#13;
function loadHTML(spanId, url) {
    var xmlhttp = new XMLHttpRequest();


    xmlhttp.open("GET", url, true);
    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 /* complete */) {
                    handler(xmlhttp.responseText, spanId);
              }

    }

    }

    // send() method actually initiates the ajax request
    xmlhttp.send();


    function handler(responseText, spanId) {
    var parser =new DOMParser();
    var doc = parser.parseFromString(responseText, "text/html");

    //get class name from parser


    var status = doc.getElementsByTagName("tr");
    var className  = status[1].className;

    //get the date/time from parser 
    var tds = doc.getElementsByTagName("td");
    var dateTime = tds[0].innerText;


    var span = document.getElementById(spanId);
    span.id= className;
    span.innerHTML = dateTime;

    }

     loadHTML('myspan',"any given url");
&#13;
<span id="myspan"> here is my text </span>
&#13;
&#13;
&#13;