firefox下无法用childNodes[0].nodeValue正常读取节点的值


在IE下可以正常读取
xml中为
<a>
  <b>
    <c>aaaaaa</c> 
  </b>
  <b>
    <c>aaaaaa</c> 
  </b>
</a>

javascript中为
var aNode = xmlDoc.getElementsByTagName("a")[0];  
    
    var bName = aNode.getElementsByTagName("b");

cNode = bName[1].childNodes[0].childNodes[0].nodeValue;
在IE可以正常得到结果 aaaaaa
但在firefox下却得不到,把nodeValue换成nodeTypedValue或者text还是得不到
但在IE却都能得到
各位大哥有没有人知道怎么弄才能得到这个值

9 个解决方案

#1


.textContent

#2


XML改成
<a>
  <b><c>aaaaaa</c></b>
  <b><c>aaaaaa</c></b>
</a>
就行了
因为ff把标记后的空格也认为是节点

#3


照二位的方法试了
还是不行啊

#4


cNode = bName[1].getElementsByTagName("c")[0].childNodes[0].nodeValue

#5


孟老大
照你的说法弄了
依然只是IE下正常
firefox下不行啊

#6


RPWT :)

  <p>
    <span>aaaaaa</span> 
  </p>
  <p><span>aaaaaa</span></p>
</div>
<script type="text/javascript">
var aNode = document.getElementsByTagName("div")[0];  
   
    var bName = aNode.getElementsByTagName("p");
cNode = bName[1].childNodes[0].childNodes[0].nodeValue;
alert(cNode);
</script>

#7


上边少个"<div>"

<div>
<p>
    <span>aaaaaa</span> 
  </p>
  <p><span>aaaaaa</span></p>
</div>
<script type="text/javascript">
var aNode = document.getElementsByTagName("div")[0];  
   
    var bName = aNode.getElementsByTagName("p");
cNode = bName[1].childNodes[0].childNodes[0].nodeValue;
alert(cNode);
</script>

#8


LS
不知道是你没看明白我写的
还是我看不明白你写的

#9


用下面的方法判断下。绝对可以。我用了2天时间找到的。
循环最里面加进去 然后nodeValue取值。
if (rootlist.childNodes[j].nodeType == 1) 
   //判断节点类型,因为IE和火狐两个浏览器获取xml文件不一样,换行也会当做一个节点 
 
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告