Javascript - 获取文档片段中的元素数
Javascript - get number of elements in Document Fragment
我正在通过将数字传递给以下函数来创建一个计数器:
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());
}
这个returns:
DocumentFragment [ <span>, <span> ]
我在获取 DocumentFragment 中的一些元素时遇到了麻烦。我尝试了 $(myobject).length
,其中 returns 1.
如何获取我的 DocumentFragment 中的项目数?
抱歉,我的第一个答案不正确。我很难弄清楚,你是如何得到结果的(那会很有帮助)。您正在寻找的是:
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 元素是作为子元素添加的,所以您要计算容器的子元素。
var me = numberToHtml(123455);
alert( me.childElementCount);
警报 2
注意:还有 me.children.length
returns 2
要查看您必须使用的内容,请执行以下操作:
console.dir(me);
然后在控制台中展开它。
我正在通过将数字传递给以下函数来创建一个计数器:
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());
}
这个returns:
DocumentFragment [ <span>, <span> ]
我在获取 DocumentFragment 中的一些元素时遇到了麻烦。我尝试了 $(myobject).length
,其中 returns 1.
如何获取我的 DocumentFragment 中的项目数?
抱歉,我的第一个答案不正确。我很难弄清楚,你是如何得到结果的(那会很有帮助)。您正在寻找的是:
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 元素是作为子元素添加的,所以您要计算容器的子元素。
var me = numberToHtml(123455);
alert( me.childElementCount);
警报 2
注意:还有 me.children.length
returns 2
要查看您必须使用的内容,请执行以下操作:
console.dir(me);
然后在控制台中展开它。