亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

DOM操作的增強(qiáng)版功能JS函數(shù)

Original 2016-11-08 11:21:13 318
abstrakt:/**  * 將一個DOM節(jié)點(diǎn)、HTML字符串混合型參數(shù)  * 轉(zhuǎn)化為原生的DOM節(jié)點(diǎn)數(shù)組  *  * */ function checkElem(a) {     var r = [];      
/**
 * 將一個DOM節(jié)點(diǎn)、HTML字符串混合型參數(shù)
 * 轉(zhuǎn)化為原生的DOM節(jié)點(diǎn)數(shù)組
 *
 * */
function checkElem(a) {
    var r = [];
 
    if (a.constructor != Array) {
        //如果不是參數(shù)數(shù)組,則強(qiáng)行轉(zhuǎn)換
        a = [a];
    }
 
    for (var i = 0; i < a.length; i++) {
        //如果是字符串,例如"<li>aa</li>"
        if (a[i].constructor == String) {
            //使用一個臨時元素來存放HTML
            var div = document.createElement("div");
            //注入HTML,轉(zhuǎn)換成DOM結(jié)構(gòu)
            div.innerHTML = a[i];
 
            for (var j = 0; j < div.childNodes.length; j++) {
                r[r.length] = div.childNodes[j];
            }
 
        } else if (a[i].length) {
            //假定是DOM節(jié)點(diǎn)數(shù)組
            for (var j = 0; j < a[i].length; j++) {
                r[r.length] = a[i][j];
            }
        } else {
            //DOM節(jié)點(diǎn)
            r[r.length] = a[i];
        }
    }
 
    return r;
}
 
/**
 * 在parent執(zhí)行環(huán)境下,在before元素下前面添加elem元素
 * */
function before(parent, before, elem) {
    //檢查是否提供parent節(jié)點(diǎn)參數(shù)
    if (elem == null) {
        elem = before;
        before = parent;
        parent = before.parentNode;
    }
    //獲取元素的新數(shù)組
    var elems = checkElem(elem);
 
    /**
     * 向后遍歷數(shù)組,
     * 因?yàn)槲覀兿蚯安迦朐?     * */
    for (var i = elems.length - 1; i >= 0; i--) {
        parent.insertBefore(elem[i], before);
    }
 
}
/**
 * 為parent追加一個子元素的輔助函數(shù)
 *
 * */
function append(parent, elem) {
    var elems  = checkElem(elem);
 
    for(var i = 0; i <= elems.length; i++){
        parent.appendChild(elems[i]);
    }
}
/**
 * 刪除elem節(jié)點(diǎn)函數(shù)
 *
 * */
function remove(elem) {
    if(elem) {
        elem.parentNode.removeChild(elem);
    }
}
/**
 * 從一個元素中刪除所有子節(jié)點(diǎn)的函數(shù)
 *
 * */
function empty(elem) {
    while(elem.firstChild) {
        remove(elem.firstChild);
    }
}


Versionshinweise

Beliebte Eintr?ge