請問一下這里傳的參數(shù)li是什么意思 傳這個(gè)li所以下面的getElementByTagName前面才能用li這個(gè)范圍限定嗎
function?showsubmenu(li){??????????????????????//這行的li是什么意思 var?submenu?=?li.getElementsByTagName("ul")[0];????? submenu.style.display="block";??????????????????? }
不傳這個(gè)li參數(shù)那么getElementByTagName 前邊的li 就不可以使用了嗎
2022-03-24
謝謝支持。請關(guān)注后續(xù)課程。哦,。。原來如此,還是加上那些嘛,那樣更完整
2018-04-09
函數(shù)里面的li只是一個(gè)參數(shù)變量,你可以命名什么都可以,重要的是你調(diào)用方法是傳進(jìn)去給這個(gè)li的值,比如說代碼里面onmoseover=“showsubmenu(this)”,this指向的是當(dāng)前調(diào)用這個(gè)showsubmenu的li對象,那么在調(diào)用方法的時(shí)候把this傳進(jìn)去就相當(dāng)于li = this,就是參數(shù)li指向this,也就是指向當(dāng)前調(diào)用這個(gè)showsubmenu的li對象
2017-09-19
里面的element是某個(gè)元素節(jié)點(diǎn)對象,所獲得的是該元素對象下的以tagname為標(biāo)簽名的子節(jié)點(diǎn)的集合,所以
li.getElementsByTagName("ul")[0];中的li也相當(dāng)于一個(gè)元素對象,具體指代那個(gè)元素對象不確定,需要在之前js語句中申明li表示的元素對象,如
則在showsubmenu(li)中傳入的是"li"對應(yīng)的第一個(gè)元素對象;
那么傳入的就是“div”對應(yīng)的第一個(gè)元素對象;
所以li只是一個(gè)變量,你可以用其他任何符合變量命令規(guī)則的名稱替換它,只是這里可能li獲取的是tagName="li"的元素結(jié)點(diǎn),所以將這個(gè)變量名命名為li ,更加方便而已。
如果函數(shù)中不傳入這個(gè)變量li,那么element.getElementsByTagName(tagname)中對應(yīng)的element需要自行獲取,或者直接用document來作為element來限定范圍,其實(shí)document本身就是指整個(gè)HTML文檔,只是限定范圍更大
2017-09-19
sorry? 我試了下我弄錯(cuò)了,你別看,這是誤導(dǎo)。
2017-09-19
如果不傳入?yún)?shù)的話,下面html 里面的<li>調(diào)用函數(shù)就不能傳入?yún)?shù),只能直接調(diào)用函數(shù):oumouseover="showsubmenu()" 這樣,? 這樣的話定義函數(shù)的時(shí)候,里面就得先獲取到li標(biāo)簽:var lis = document.getElementsByTagName("li")[0]; 然后再在li標(biāo)簽上獲取二級標(biāo)題ul:var submenu = lis.getElementsByTagName("ul")[0];