0

我正在尝试获取 XML 节点的子节点的长度。除 chrome 外,其他浏览器似乎给出了准确的结果。假设如果孩子的数量是 6,chrome 返回 13。因此,方法hasChildNodes()hasChildren()返回Uncaught TypeError: Cannot call method 'hasChildNodes' of undefined错误。您能否建议我一些替代方案,以便我可以在 Chrome 中运行我的代码。

$.ajax({
  type: "GET",
  url: "tree1.xml",
  dataType:"xml",
  success: function(xml){     

    var root=xml.documentElement;

    var childs1=root.childNodes;
    var len=$(childs1).size();

    alert(len);

这是代码的一部分,我在其中提醒孩子的数量。根元素有 6 个子元素。但 chrome 警告 13

4

1 回答 1

0

你想要的是.children而不是.childNodes.

后者也包括文本节点,因此通常会返回更高的数字;更糟糕的是,它们不支持与元素相同的方法。

要确定子元素的数量,您可以使用该.length属性而不是将其包装在 jQuery 中。

var childs1 = root.children;
var len = childs1.length;
于 2013-02-22T06:43:23.027 回答