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

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

為什么什么都不輸出,代碼如下,幫忙看下。想法比第一贊的同學代碼麻煩點

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標題文檔</title>
</head>
<body>
<ul id="con">
<li id="lesson1">javascript
? <ul>
????? <li id="tcon"> 基礎語法</li>
????? <li>流程控制語句</li>
????? <li>函數</li>
????? <li>事件</li>
????? <li>DOM</li>
? </ul>
</li>
<li id="lesson2">das</li>
<li id="lesson3">dadf</li>
<li id="lesson4">HTML/CSS
? <ul>
??? <li>文字</li>
??? <li>段落</li>
??? <li>表單</li>
??? <li>表格</li> ?
? </ul>
</li></ul> ?
<script? type="text/javascript">?? ?
?? var mylist = document.getElementById("tcon");
?? var plist = mylist.parentNode.parentNode.nodeName;
?? for(var i= 0;i<plist.length; i++){
?? if(plist[i].getAttribute("id")==lesson4){
????? document.write(plist[i].nodeValue);
?????? }
????? ?
?????? }
?? ?
</script>

</body>
</html>

正在回答

3 回答

題主弄錯了概念

getAttribute()和setAttribute()是獲取、設置元素節點的屬性的值。

節點有四種:1.元素節點、2.?屬性節點、3.?文本節點、4.?文檔節點

具體看 9.7節點屬性。

var plist = mylist.parentNode.parentNode.nodeName獲得的是<li id="lesson1">的節點名,如果用document.write(plist)輸出的話應該是LI

我的做法是這樣的:

var n = mylist.parentNode.parentNode.parentNode.childNodes;

//獲取最頂層父節點的所有子節點

? ? document.write(n.length+"<br>");

? ?for(var i=0; i<n.length; ++i){

? ? // 先判斷出li的元素節點再判斷獲取元素節點ID

? ? if( n[i].nodeName == "LI" && n[i].getAttribute("id") == "lesson4"){

? ? ? ? document.write(n[i].childNodes[0].nodeValue+"<br>");

? ? }

?}

望采納!

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

aiwei笑 提問者

非常感謝!
2015-11-06 回復 有任何疑惑可以回復我~
#2

慕斯卡9402741

document.write(toLowerCase(plist)+"<br>"); 想輸出一個轉換成小寫的li標記,結果一直報錯。
2016-01-13 回復 有任何疑惑可以回復我~
#3

西風瀟瀟

你這樣做的結果為:HTML/CSS,并不會完全輸出"HTML/CSS"課程內容。 相當于獲取最后一個節點(第8)個節點的第一個子節點(文本節點)的節點屬性(文本節點nodeValue為文本自身)。
2016-01-20 回復 有任何疑惑可以回復我~

什么都不輸出

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

什么不輸出

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

舉報

0/150
提交
取消

為什么什么都不輸出,代碼如下,幫忙看下。想法比第一贊的同學代碼麻煩點

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

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

幫助反饋 APP下載

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

公眾號

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