Javascript如何将img放在文档表中

时间:2014-01-21 12:37:32

标签: javascript

我有这个代码,但是我可以在调试时看到图像。 我做错了什么? 当我打电话给img src时,Mabe有些感觉?

xmlhttp.open("GET", "//site.xml", false);

xmlhttp.send();
xmlDoc=xmlhttp.responseXML; 

document.write("<table border='1'>");
var x = xmlDoc.getElementsByTagName("entry");
for (i=0;i<x.length;i++)
  { 
    document.write("<tr><td>");

    document.write('<a href="' + x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue + '"> <img src=' + '"http//google.com/images/logo.gif"' + 'border="0" width="276" height="110" /></a>');
    document.write("</td><td>");



  document.write(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
  document.write("</td></tr>");
  //alert('[1]');
}




//alert('[2]');
document.write("</table>");

1 个答案:

答案 0 :(得分:0)

您的代码中存在一些问题:

1-首先,ajax调用是异步的(W3C Reference),因此您的代码不会等到ajax调用完成后才能继续执行。 =&GT;在调用send方法之前,必须先为onreadystatechange定义一个处理函数。

示例

xmlhttp.onreadystatechange = function(){
    /*
     * Note this condition (response received and 
     * request status is OK (HTTP 200 code)
     */
    if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
        //Your code here
       document.write("<table border='1'>");
       var x = xmlDoc.getElementsByTagName("entry");
       for (i=0;i<x.length;i++)
             { 
               document.write("<tr><td>");
               document.write('<a href="' + x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue + '"> <img src=' + '"http://google.com/images/logo.gif"' + 'border="0" width="276" height="110" /></a>');
               document.write("</td><td>");
               document.write(x[i].getElementsByTagName("title")[0].childNodes[0].nodeValue);
               document.write("</td></tr>");
               //alert('[1]');
           }
    }
}

2-您的ajax通话网址错误//site.xml。您正尝试访问此网址http(s)://site.xml,该网址没有任何意义,您的status code将始终为404(HTTP未找到代码),因此请将您的网址更改为/site.xml

希望有所帮助