·
DOM的映射机制:页面中的标签和JS获取到的元素对象是紧紧地绑定在一起的,html结构改变了,JS中不需要重新获取集合里的内容也会跟着改变。
var lis = document.getElementsByTagName_r('li');
console.log(lis.length) >>> n //原来页面有n个li
var newli = document_createElement_x_x_x_x_x('li')
ul.a(newli); >>> n+1 //再次打印就会比原来的多一个
console.log(lis.length)
如果对表格进行排序:每个li的内容是22,55,11,88,66
这时li的长度是5;
下面进行操作 :
var lis = document.getElementsByTagName_r('li');
LIS = Array.prototype.slice.call(lis,0)
LIS.sort(function(a,b){
return parseInt(a.innerHTML) - parseInt(b.innerHTML)
})
var frg = document_createDocumentFragment()
for(var i = 0 ; i< LIS.length; i++){
frg.a(LIS[i])
}
ul.a(frg)
frg = null;
console.log(lis.length) >>> 5 //因为DOM的映射机制,将添加的和原来的建立的映射关系。长度不变。
`