我已经写了这段代码:
var foo=document.createElement("div");
var childs=foo.getElementsByTagName("*");
console.log(childs.length);//0 OK
var a=document.createElement("a");
foo.appendChild(a);
console.log(childs.length);//1 WTF?
一个小技巧:http://jsfiddle.net/RL54Z/3/
在第五和第六行之间无需编写childs=foo.getElementsByTagName("*");
以更新 childs.length
。
这是为什么呢?