為什么什么都不輸出,代碼如下,幫忙看下。想法比第一贊的同學(xué)代碼麻煩點(diǎn)
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標(biāo)題文檔</title>
</head>
<body>
<ul id="con">
<li id="lesson1">javascript
? <ul>
????? <li id="tcon"> 基礎(chǔ)語法</li>
????? <li>流程控制語句</li>
????? <li>函數(shù)</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>
2015-10-30
題主弄錯(cuò)了概念
getAttribute()和setAttribute()是獲取、設(shè)置元素節(jié)點(diǎn)的屬性的值。
節(jié)點(diǎn)有四種:1.元素節(jié)點(diǎn)、2.?屬性節(jié)點(diǎn)、3.?文本節(jié)點(diǎn)、4.?文檔節(jié)點(diǎn)
具體看 9.7節(jié)點(diǎn)屬性。
而var plist = mylist.parentNode.parentNode.nodeName獲得的是<li id="lesson1">的節(jié)點(diǎn)名,如果用document.write(plist)輸出的話應(yīng)該是LI
我的做法是這樣的:
var n = mylist.parentNode.parentNode.parentNode.childNodes;
//獲取最頂層父節(jié)點(diǎn)的所有子節(jié)點(diǎn)
? ? document.write(n.length+"<br>");
? ?for(var i=0; i<n.length; ++i){
? ? // 先判斷出li的元素節(jié)點(diǎn)再判斷獲取元素節(jié)點(diǎn)ID
? ? if( n[i].nodeName == "LI" && n[i].getAttribute("id") == "lesson4"){
? ? ? ? document.write(n[i].childNodes[0].nodeValue+"<br>");
? ? }
?}
望采納!
2015-10-30
什么都不輸出
2015-10-30
什么不輸出