JS代碼題14

實(shí)現(xiàn)類似getElementsByClassName 的功能

自己實(shí)現(xiàn)一個函數(shù),查找某個DOM節(jié)點(diǎn)下面的包含某個class的所有DOM節(jié)點(diǎn)。不允許使用原生提供的getElementsByClassName,querySelectorAll等原生提供DOM查找函數(shù)。

代碼如下:

function findClass(node,name){
    var nodes
    if(node){
        nodes = node.children       
    }else{ //沒有傳節(jié)點(diǎn)的情況下,就搜索整篇文檔內(nèi)的元素
        nodes = document.getElementsByTagName('*') 
    }
    var classes
    var result = []
    for (var i = 0; i < nodes.length; i++) {
        classes = nodes[i].className.split(' ') //一個元素可能擁有多個classname,被空格隔開
        if (classes.indexOf(name) !== -1) {
            result.push(nodes[i])
        }
    }
    return result
}

還是用到了原生查找函數(shù):document.getElementsByTagName,不知道有沒有不能這個函數(shù)能獲取所有元素節(jié)點(diǎn)的方法

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 昨日,你傳來一首自己翻唱的魏如萱的《一起去旅行》。真是動聽。最好的時光,始終在路上。然而一切大的美好都是靜默的,而...
    CHADLO閱讀 921評論 3 7
  • 星期一總是讓大多數(shù)人感到特別沮喪的一天:昨日的盛宴狂歡已成往事,漫漫長路還有五天才到下一個極樂世界,這是何等的煎熬...
    為時未晚閱讀 721評論 6 3
  • 昨日去辦住房貸款,其實(shí)最后還是發(fā)現(xiàn)出現(xiàn)了很多問題。無論是繳款銀行問題,還是套現(xiàn)到賬時間問題,更或者是辦貸款銀行問題...
    雀島札記閱讀 180評論 0 0

友情鏈接更多精彩內(nèi)容