全部博文(322)
分类: 系统运维
2010-09-21 08:55:41
常用函数:
createElement 创建元素(不会立即显示,必须绑定到某个父节点上)
createTextNode 创建文本节点(不会立即显示,必须绑定到某个父节点上)
insertBefore 将一个元素插入到父节点下的某个元素之前(插入后浏览器即时渲染)
appendChild 将一个元素添加到父节点下的最后位置(插入后浏览器即时渲染)
removeChild 从父节点中删除一个节点(删除后浏览器即时渲染)
以下为《精通JavaScript》中提供的函数
function checkElem(elem) {
//如果只提供字符串,则把它转化为文档节点
return elem && elem.constructor == String ? document.createTextNode(elem) : elem;
};
function append(parent, elem) {
parent.appendChild(checkElem(elem));
};
function before(parent, before, elem) {
//如果只传入了两个参数,那么需要获取第一个参数的父节点以使用inserBefore函数
if(elem == null) {
elem = before;
before = parent;
parent = before.parentNode;
}
parent.insertBefore(checkElem(elem), before);
};
elem && elem.constructor == String …… 这里的运算顺序是 elem && ( elem.constructor == String )
另外,直接从innerHTML插入具有更高的效率,但是XML不支持innerHTML属性。
如果要传入的elem参数是一个DOM节点和HTML字符串的混合数组,改进函数如下:
|
function remove(elem) {
if (elem)
elem.parentNode.removeChild(elem);
}
function empty(elem) {
while(elem.firstChild)
remove(elem.firstChild);
}
chinaunix网友2010-09-21 16:28:59
很好的, 收藏了 推荐一个博客,提供很多免费软件编程电子书下载: http://free-ebooks.appspot.com