5 回答

TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超0個(gè)贊

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
因?yàn)橥ㄟ^(guò)getElementsByTagName取到的值是一個(gè)數(shù)組,在這種情況下數(shù)組是沒(méi)有.childNodes方法的,html里標(biāo)簽元素元素才有.childNodes方法。
因?yàn)門(mén)agName(標(biāo)簽名稱)為 'div' 的只有一個(gè),所以取數(shù)組的第一個(gè)值,也就是[0]來(lái)拿到這個(gè)元素,然后再對(duì)取到的這個(gè)標(biāo)簽元素用.childNodes方法取到div標(biāo)簽內(nèi)的子標(biāo)簽
js原生方法獲取DOM節(jié)點(diǎn),一般通過(guò)方法名稱就可以判斷返回值是一個(gè)標(biāo)簽元素還是一個(gè)數(shù)組。
有g(shù)etElements的返回值都是一個(gè)數(shù)組,數(shù)組里包含著獲取到的元素,需要通過(guò)[0]、[1]、[2]...來(lái)拿到指定位置上的元素標(biāo)簽。
有g(shù)etElement的返回值都是一個(gè)標(biāo)簽元素,可以直接在其后面調(diào)用各種針對(duì)DOM節(jié)點(diǎn)的方法

TA貢獻(xiàn)7條經(jīng)驗(yàn) 獲得超0個(gè)贊
因?yàn)間etElementsByTagName()的返回值是一個(gè)NodeList 就是跟數(shù)組差不多的東西 所以就算它只有一個(gè)元素你也得寫(xiě)出來(lái)索引
添加回答
舉報(bào)