您当前的位置:首页 > 网站建设笔记 >

insertAfter()、prependChild()和removeChildren()方法

来源:JavaScript DOM 高级程序设计0

ADS.insertAfter()方法

在你的浏览器对W3C DOM规范的实现中,提供了很多可以操纵文档结构的对象。但是,在DOM核心规范中好像缺少一个方法,即element.insertAfter()方法。不过,通过组合使用已有的DOM方法也能实现相应的功能。

<script type="text/javascript">
//ADS.insertAfter()方法
function insertAfter(node, referenceNode){
    if (!(node = $(node))) return false;
    if (!(referenceNode = $(referenceNode))) return false;
    return referenceNode.parentNode.insertBefore(node, referenceNode.nextSibling);
};
window["ADS"]["insertAfter"] = insertAfter;

//ADS.prependChild()方法
function prependChild(parent, newChild){
    if (!(parent = $(parent))) return false;
    if (!(newChild = $(newChild))) return false;
    if (parent.firstChild){
        //如果存在一个子节点,则在这个子节点之前插入
        parent.insertBefore(newChild, parent.firstChild);
    } else {
        //如果没有子节点则直接添加
        parent.appendChild(newChild);
    }
    //再返回父元素,以便实现方法连缀
    return parent;
};
window["ADS"]["prependChild"] = prependChild;

//ADS.removeChildren()方法
function removeChildren(parent) {
    if (!(parent = $(parent))) return false;

    //当存在子节点时删除该子节点
    while (parent.firstChild) {
        parent.firstChild.parentNode.removeChild(parent.firstChild);
    }
    //再返回父元素,以便实现方法连缀
    return parent;
};
window["ADS"]["removeChildren"] = removeChildren;
</script>

建站咨询

在线咨询真诚为您提供专业解答服务

咨询热线

137 1731 25507×24小时服务热线

微信交流

二维码终于等到你,还好我没放弃
返回顶部