一些操作元素节点的封装函数

返回元素elem的第n层祖先元素

function retParent(elem,n) {
    while(elem && n) {
        elem = elem.parentElement;
        n --;
    }
    return elem;
}

封装Haschildren功能,解决以前部分浏览器的兼容性问题

Element.prototype.mHasChildren = function () {
        child = this.childNode,
        len = child.length;
    for(var i = 0; i < len; i++){
        if(child[i].nodeType == 1){
            return true;
        }
    }
    return false;
}

封装函数,返回元素e的第n个兄弟节点,n为正,返回后面的兄弟节点,n为负,返回前面的,n为0,返回自己。

function retSibling(e,n) {
    while(e && n) {
        if(n > 0) {
            if(e.nextElementSibling){
                e = e.nextElementSibling;
            }else{//兼容ie
                for(e = e.nextSibling; e && e.nodeType != 1; e = e.nextSibling);
            }
            n --;
        }else{
            if(e.previousElementSibling){
                e = e.previousElementSibling;
            }else{//兼容ie
                for(e = e.previousSibling; e && e.nodeType != 1; e = e.previousSibling);
            n ++;
        }
    }
    return e;
    
}

在原型链上封装insertAfter

Element.prototype.insertAfter = function(targetNode,afterNode) {
    var beforeNode = afterNode.nextElementSibling;
    if(beforeNode == null) {
        this.appendChild(targetNode);
    }else{
        this.insertBefore(target,beforeNode);
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一章 1.什么是DOM DOM: Document Object Model(文档对象模型) 是JavaScri...
    fastwe阅读 4,239评论 0 0
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,143评论 0 3
  • DOM是一套编程接口,让js能操作html和xml。 1. DOM选择器 1.1 document.getElem...
    啃香菜的花萝萝阅读 3,332评论 0 3
  • 一、样式篇 第1章 初识jQuery (1)环境搭建 进入官方网站获取最新的版本 http://jquery.co...
    凛0_0阅读 8,851评论 0 44
  • 1、Math对象 Math.PI圆周率π Math.ceil()向上取整返回的是大于或等于函数参数,并且与之最接近...
    Lizzy95阅读 2,865评论 0 0

友情链接更多精彩内容