亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請問一下這里傳的參數li是什么意思 傳這個li所以下面的getElementByTagName前面才能用li這個范圍限定嗎

function?showsubmenu(li){??????????????????????//這行的li是什么意思
	var?submenu?=?li.getElementsByTagName("ul")[0];?????
	submenu.style.display="block";???????????????????
}

不傳這個li參數那么getElementByTagName 前邊的li 就不可以使用了嗎

正在回答

5 回答

0 回復 有任何疑惑可以回復我~

函數里面的li只是一個參數變量,你可以命名什么都可以,重要的是你調用方法是傳進去給這個li的值,比如說代碼里面onmoseover=“showsubmenu(this)”,this指向的是當前調用這個showsubmenu的li對象,那么在調用方法的時候把this傳進去就相當于li = this,就是參數li指向this,也就是指向當前調用這個showsubmenu的li對象

0 回復 有任何疑惑可以回復我~
element.getElementsByTagName(tagname)

里面的element是某個元素節點對象,所獲得的是該元素對象下的以tagname為標簽名的子節點的集合,所以

li.getElementsByTagName("ul")[0];中的li也相當于一個元素對象,具體指代那個元素對象不確定,需要在之前js語句中申明li表示的元素對象,如

var?li=document.getElementsByTagName("li")[0];

則在showsubmenu(li)中傳入的是"li"對應的第一個元素對象;

var?li=document.getElementsByTagName("div")[0];

那么傳入的就是“div”對應的第一個元素對象;


所以li只是一個變量,你可以用其他任何符合變量命令規則的名稱替換它,只是這里可能li獲取的是tagName="li"的元素結點,所以將這個變量名命名為li ,更加方便而已。

如果函數中不傳入這個變量li,那么element.getElementsByTagName(tagname)中對應的element需要自行獲取,或者直接用document來作為element來限定范圍,其實document本身就是指整個HTML文檔,只是限定范圍更大

0 回復 有任何疑惑可以回復我~
#1

慕移動7208282 提問者

function showsubmenu(li){ //這行的li是什么意思 var submenu = document.getElementsByTagName("ul")[0]; //這里把li換成document submenu.style.display="block"; } 請問一下 如果我把element前邊的li換成document 那么就是在整個文檔中尋找ul賦值給submenu是這個意思嗎
2017-09-20 回復 有任何疑惑可以回復我~
#2

慕移動7208282 提問者

如果我想尋找ul中的li那么就是 function showsubmenu(ul){ var submenu = ul.getElementsByTagName("li")[0]; }
2017-09-20 回復 有任何疑惑可以回復我~

sorry? 我試了下我弄錯了,你別看,這是誤導。

0 回復 有任何疑惑可以回復我~
#1

慕移動7208282 提問者

嘿嘿沒事 大家一起討論一起進步 你能幫我看就已經挺好的了 老師沒怎么注重講這個li 所以我也沒搞懂 我再看看別人怎么回答的把
2017-09-19 回復 有任何疑惑可以回復我~

如果不傳入參數的話,下面html 里面的<li>調用函數就不能傳入參數,只能直接調用函數:oumouseover="showsubmenu()" 這樣,? 這樣的話定義函數的時候,里面就得先獲取到li標簽:var lis = document.getElementsByTagName("li")[0]; 然后再在li標簽上獲取二級標題ul:var submenu = lis.getElementsByTagName("ul")[0];

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
形形色色的下拉菜單
  • 參與學習       106938    人
  • 解答問題       563    個

本教程從易到難,循循漸進,運用不同技術實現動態下拉菜單

進入課程

請問一下這里傳的參數li是什么意思 傳這個li所以下面的getElementByTagName前面才能用li這個范圍限定嗎

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號