Javascript - 获取Document Fragment中的元素数量

时间:2015-08-30 22:05:06

标签: javascript object documentfragment

我通过将数字传递给以下函数来创建计数器:

function numberToHtml(n) {
            function createSpan(n) {
                var span = document.createElement('span');
                span.textContent = n;
                return span;
            }
            function iter(n, container) {
                if (n === '') return container;
                container.insertBefore(createSpan(n.slice(-3)), container.firstChild);
                return iter(n.slice(0,-3), container);
            }
            return iter(String(n), document.createDocumentFragment());
        }

返回:

DocumentFragment [ <span>, <span> ]

我很难在DocumentFragment中获取许多元素。我尝试了$(myobject).length,返回1.

如何获取DocumentFragment中的项目?

2 个答案:

答案 0 :(得分:2)

var me = numberToHtml(123455);
alert( me.childElementCount);
警告2  注意:me.children.length也返回2

要了解您需要使用的内容,请执行以下操作:

console.dir(me);

然后在控制台中展开它。

答案 1 :(得分:1)

抱歉,我的第一个回答是不正确的。我很难搞清楚,你是如何得到你的结果的(这本来是有帮助的)。你在寻找的是:

var myobject = numberToHtml(3231123123);
var length = $(myobject).children().length;
alert(length); // 4

或正如juhana指出的那样,你可以省略jquery包装器:

var myobject = numberToHtml(3231123123);
var length = myobject.children.length;
alert(length); // 4

由于span元素是作为子元素添加的,因此您需要计算容器的子元素。