Element.children无法在Chrome上运行

fat_flying_pigs

我已经阅读了有关的所有文档element.children(例如MDN),但无法在Google Chrome浏览器上正常运行。我正在使用的代码段:

<html><head>
    <script src="loadxmldoc.js"></script>
</head>
<body><script>
xmlDoc=loadXMLDoc("books.xml");

    document.write("<table border='1'>");
    var x=xmlDoc.getElementsByTagName("day");
    for (var i=0;i<x.length;i++){
    document.write("<td><table border='1'>");
    document.write("<tr><td>" + x[i].getAttribute("id") + "</td></tr>");

        var y=xmlDoc.getElementsByTagName("time");

        for (var j=0;j<y.length;j++){
            document.write("<tr><td><table border='1'>");
            document.write("<tr><td>Location: " + y[j].getAttribute("id") + ": ");
            document.write("</table></td></tr>");
    }
    document.write("</table></td>");
}
document.write("</table>");
</script></body></html>

问题是,每次getElementsByTagName使y.length16,而不是3,3,3,3,1。我确实使用过childNodes,但是其中包括文本元素。我曾经使用过,var y=x.item(i).children;但是在Chrome上无法使用它确实可以在FF上运行,这使我相信Chrome不支持它,或者我脑子里缺少东西。但是,我发现的所有文档都说这应该适用于Chrome。

.children是Chrome的正确用法还是Chrome出了点问题?

fat_flying_pigs

我要感谢@Felix Kling为我提供的答案。

仅供参考,.item在FF中工作的原因是FF返回HTMLCollection,而Chrome返回NodeList。–费利克斯·克林(Felix Kling)

.children仅适用于HTMLCollection。NodeList需要手动完成。我挑选出元素节点并将它们放入数组中。

var x=xmlDoc.getElementsByTagName("day");
if(isFirefox){   //alternately, you can detect if HTMLCollection
    var y=x.item(i).children;
    document.write(y.length);
}
if(isChrome){    //alternately, you can detect if NodeList
    var y = new Array();
    var currentChild = x.item(i).firstChild;

    while(currentChild!=null){
        if(currentChild.nodeType == Node.ELEMENT_NODE){
            y[y.length]=currentChild;
        }
        currentChild=currentChild.nextSibling;
    }
}
for (var j=0;j<y.length;j++){
    /* loop */
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

pagehide和pageshow事件无法在iOS chrome上正常运行

来自分类Dev

Chrome Native Messaging Api无法在Linux上运行

来自分类Dev

Chrome无法插入表,无法在IE上正常运行

来自分类Dev

NoNewLineParagraph无法转换为Element

来自分类Dev

Sencha touch lib无法在Chrome 43上运行

来自分类Dev

How to get all text children of an element in cElementTree?

来自分类Dev

专注于DIV元素的Javascript无法在Chrome上运行

来自分类Dev

修复CSS位置无法在Firefox上运行的Chrome中工作

来自分类Dev

无法在Chrome或Firefox的Ubuntu 12.04 LTS上运行Java,IcedTea

来自分类Dev

Python Selenium无法在linkedin.com上找到Element,Chrome开发者控制台找到了它

来自分类Dev

为什么Stripe Element在iPhone上无法正常运行,而在Android和台式机上却可以正常运行?

来自分类Dev

“类型'{children:Element []; pictureUrl:string;}'无法分配给类型'IntrinsicAttributes&{children ?: ReactNode;}'

来自分类Dev

DPR无法在Firefox / Chrome检查器上运行

来自分类Dev

为什么SpeechSynthesisUtterance无法在Chrome上运行

来自分类Dev

无法在Google Chrome上运行Flutter Firebase Web应用

来自分类Dev

运行该程序时无法在Chrome上显示网站

来自分类Dev

LinkButtons无法在iPhone上的Chrome上运行

来自分类Dev

无法在Chrome或Firefox的Ubuntu 12.04 LTS上运行Java,IcedTea

来自分类Dev

无法在Chrome上运行jQuery动画滚动

来自分类Dev

Three.js抗锯齿无法在Chrome上运行

来自分类Dev

pagehide和pageshow事件无法在iOS chrome上正常运行

来自分类Dev

PHP-Ajax无法在Chrome上运行

来自分类Dev

Chrome无法插入表,无法在IE上正常运行

来自分类Dev

javascript包含无法在chrome上运行的内容

来自分类Dev

element_children与nokogiri中的element

来自分类Dev

jQuery脚本无法在Chrome或Safari上运行

来自分类Dev

JavaScript无法运行,表示element为null,但是代码运行得很混乱

来自分类Dev

动画无法在Chrome上运行

来自分类Dev

无法推断通用参数'Element'

Related 相关文章

  1. 1

    pagehide和pageshow事件无法在iOS chrome上正常运行

  2. 2

    Chrome Native Messaging Api无法在Linux上运行

  3. 3

    Chrome无法插入表,无法在IE上正常运行

  4. 4

    NoNewLineParagraph无法转换为Element

  5. 5

    Sencha touch lib无法在Chrome 43上运行

  6. 6

    How to get all text children of an element in cElementTree?

  7. 7

    专注于DIV元素的Javascript无法在Chrome上运行

  8. 8

    修复CSS位置无法在Firefox上运行的Chrome中工作

  9. 9

    无法在Chrome或Firefox的Ubuntu 12.04 LTS上运行Java,IcedTea

  10. 10

    Python Selenium无法在linkedin.com上找到Element,Chrome开发者控制台找到了它

  11. 11

    为什么Stripe Element在iPhone上无法正常运行,而在Android和台式机上却可以正常运行?

  12. 12

    “类型'{children:Element []; pictureUrl:string;}'无法分配给类型'IntrinsicAttributes&{children ?: ReactNode;}'

  13. 13

    DPR无法在Firefox / Chrome检查器上运行

  14. 14

    为什么SpeechSynthesisUtterance无法在Chrome上运行

  15. 15

    无法在Google Chrome上运行Flutter Firebase Web应用

  16. 16

    运行该程序时无法在Chrome上显示网站

  17. 17

    LinkButtons无法在iPhone上的Chrome上运行

  18. 18

    无法在Chrome或Firefox的Ubuntu 12.04 LTS上运行Java,IcedTea

  19. 19

    无法在Chrome上运行jQuery动画滚动

  20. 20

    Three.js抗锯齿无法在Chrome上运行

  21. 21

    pagehide和pageshow事件无法在iOS chrome上正常运行

  22. 22

    PHP-Ajax无法在Chrome上运行

  23. 23

    Chrome无法插入表,无法在IE上正常运行

  24. 24

    javascript包含无法在chrome上运行的内容

  25. 25

    element_children与nokogiri中的element

  26. 26

    jQuery脚本无法在Chrome或Safari上运行

  27. 27

    JavaScript无法运行,表示element为null,但是代码运行得很混乱

  28. 28

    动画无法在Chrome上运行

  29. 29

    无法推断通用参数'Element'

热门标签

归档