我有这个代码来调用AJAX:
function loadXml(b,c)
{
var xmlhttp;
var x,xx,i;
var txt = "";
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
x=xmlhttp.responseXML.documentElement.getElementsByTagName("POST");
for (i=0;i<x.length;i++)
{
xx=x[i].getElementsByTagName("TITLE");
{
try
{
txt=txt + "<span class='nphead'>" + xx[0].firstChild.nodeValue + "</span><div class='divider'><div class='divtop'></div><div class='divbot'></div></div><br>";
}
catch (er)
{
txt=txt + "<span class='nphead'> </span><div class='divider'><div class='divtop'></div><div class='divbot'></div></div>";
}
}
xx=x[i].getElementsByTagName("CONTENT");
{
try
{
txt=txt + "<p class='pcontent'>" + xx[0].firstChild.nodeValue + "</p>";
}
catch (er)
{
txt=txt + "<p> </p><div class='divider'><div class='divtop'></div><div class='divbot'></div></div>";
}
}
}
document.getElementById(c).innerHTML=txt;
}
}
xmlhttp.open("GET",b,true);
xmlhttp.send();
}
如果功能是onLoad="loadXML('content.xml', 'divId')"
例如,这是我的content.xml:
<BLOG>
<POST>
<TITLE><![CDATA[<a class="normal" href="">1st title</a>]]></TITLE>
<CONTENT>
1st
</CONTENT>
</POST>
<POST>
<TITLE><![CDATA[<a class="normal" href="">2nd title</a>]]></TITLE>
<CONTENT>
2nd
</CONTENT>
</POST>
<POST>
<TITLE><![CDATA[<a class="normal" href="">3rd title</a>]]></TITLE>
<CONTENT>
3rd
</CONTENT>
</POST>
</BLOG>
例如,我的XML中有大约10个<POST>
个标签,所以这里是:
我的问题:如何才能显示第二个<POST>
代码,而不显示其他代码?
我已经尝试用DIV包装<POST>
的内容并尝试了这个jQuery代码,但是这没有用:
$(window).load(function() {
$('div.bpost').filter(
function(){
return !$('div.bpost').eq(2);
}).css('display','none');
});
**似乎JavaScript 不使用XML中的ajax内容。 **
答案 0 :(得分:0)
试试这个 http://www.javascriptkit.com/dhtmltutors/ajaxgetpost3.shtml
var xmldata=mygetrequest.responseXML ;
var rssentries=xmldata.getElementsByTagName("POST")[1];
答案 1 :(得分:0)
试试这个。它的工作。
function loadXMLDoc(b,c)
{
var xmlhttp;
var txt,x,xx,i;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
txt="<table border='1'><tr><th>Title</th><th>Artist</th></tr>";
x=xmlhttp.responseXML.documentElement.getElementsByTagName("POST");
txt=txt + "<tr>";
xx=x[1].getElementsByTagName("TITLE");
{
try
{
txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
}
catch (er)
{
txt=txt + "<td> </td>";
}
}
xx=x[1].getElementsByTagName("CONTENT");
{
try
{
txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
}
catch (er)
{
txt=txt + "<td> </td>";
}
}
txt=txt + "</tr>";
txt=txt + "</table>";
document.getElementById('divId').innerHTML=txt;
}
}
xmlhttp.open("GET","content.xml",true);
xmlhttp.send();
}