第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

JS面試題:寫一個(gè)方法,傳入一個(gè)DOM元素,找到它所有祖先元素中div的個(gè)數(shù),并返回。

JS面試題:寫一個(gè)方法,傳入一個(gè)DOM元素,找到它所有祖先元素中div的個(gè)數(shù),并返回。

lxfawh 2017-05-10 18:18:09
我的思路是使用遞歸,一層層往上找。判斷元素名是DIV就返回。下面是我寫的一部分,但實(shí)現(xiàn)不了。求大神幫忙。function findDiv(dom) {? ? ? ? var result = [];? ? ? ? var parents = dom.parentNode;? ? ? ? if (parents.nodeName.toUpperCase() === "BODY") {? ? ? ? ? ? return;? ? ? ? } else if (parents.nodeName.toUpperCase() === "DIV") {? ? ? ? ? ? result.push(parents.nodeName);? ? ? ? }? ? ? ? // console.log(result);? ? ? ? return result;? ? }
查看完整描述

1 回答

已采納
?
千秋此意

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

function?findDiv(node)?{
????var?result?=?[];
????
????while?((node?=?node.parentNode,?node)?!==?null)?{
????????if?(node.nodeName.toUpperCase()?===?'DIV')?{
????????????result.push(node);
????????}
????}
????
????return?result;
}

加個(gè)循環(huán)上就行了


-----? 補(bǔ)充下,才發(fā)現(xiàn)你好像是要用遞歸寫? -----

function?findDiv(node,?result)?{
????var?result?=?result?||?[];
????var?parent?=?node.parentNode;
????if?(parent?===?null)?{
????????return?result;
????}?else?{
????????return?findDiv(parent,?((parent.nodeName.toUpperCase()?===?'DIV')???result.concat([parent])?:?result));
????}
}


查看完整回答
3 反對(duì) 回復(fù) 2017-05-10
  • lxfawh
    lxfawh
    請(qǐng)問這一行怎么解釋?while ((node = node.parentNode, node) !== null)
  • 千秋此意
    千秋此意
    每次循環(huán)時(shí) 讓node = node.parentNode, 同時(shí)判斷node是否為null, 不為null時(shí)繼續(xù)循環(huán)
  • lxfawh
    lxfawh
    太贊了!謝謝
點(diǎn)擊展開后面1
  • 1 回答
  • 1 關(guān)注
  • 2903 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)