选择什么XML数据显示没有属性JS/XML
问题描述:
所以我想选择什么XML数据显示(不使用属性)使用Javascript。下面是关于什么我想要做的具体细节:选择什么XML数据显示没有属性JS/XML
XML
<channel>
<item>
<title>3.jpg</title>
<link>images/clean/3-dirty.jpg</link>
</item>
<item>
<title>4.jpg</title>
<link>images/clean/4-dirty.jpg</link>
</item>
<item>
<title>5.jpg</title>
<link>images/clean/4-clean.jpg</link>
</item>
<item>
<title>6.jpg</title>
<link>images/clean/4-dirty.jpg</link>
</item>
... and the list goes on for ages.
</channel>
的Javascript
<script type="text/javascript">
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","xml/drc.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
var x=xmlDoc.getElementsByTagName("item");
for (i=0;i<x.length;i++)
{
document.write("<img src='");
document.write(x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue);
document.write("' alt='image' height='220px' width='260px' />");
}
</script>
如何显示,仅包含单词“脏”,或在“干净”的图像网址? 我试过使用IndexOf()方法,但无法让它工作。
答
试试这个:
for (i=0;i<x.length;i++) {
var src = x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue;
if(src.indexOf("dirty") != -1) {
document.write("<img src='");
document.write(src);
document.write("' alt='image' height='220px' width='260px' />");
}
}
,如果它不工作,试试这个,太:
for (i=0;i<x.length;i++) {
var src = x[i].getElementsByTagName("link")[0].childNodes[0].nodeValue;
var srcLower = src.toLowerCase();
if(srcLower.indexOf("dirty") != -1) {
document.write("<img src='");
document.write(src);
document.write("' alt='image' height='220px' width='260px' />");
}
}
+1
谢谢sedran!第一个为我解决了它! :) – user1581347 2012-08-07 09:48:02
+0
图像链接可以包含一些大写字母(例如:DirTy),如果您也想要它们,您应该使用第二个代码;) – sedran 2012-08-07 10:43:10
你可以告诉你如何使用它?你是否使用小写'indexOf'? – 2012-08-07 09:25:59