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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

(9-10 訪問父節(jié)點parentNode)關于innerHTML的問題

(9-10 訪問父節(jié)點parentNode)關于innerHTML的問題

Cassie_yu 2016-06-01 18:29:35
<!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 a=mylist.parentNode.parentNode.parentNode.lastChild;? ?document.write(a.innerHTML+"<br />");? ?//document.write(a.childNodes.firstChild.innerHTML);? ?</script>?</body></html>①?關于document.write(a.innerHTML+"<br />"); ?innerHTML顯示兩個標簽中的內容,所以結果為什么不是 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??HTML/CSS<ul> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? <li>文字</li> ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ? <li>段落</li> ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? <li>表單</li> ? ? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? <li>表格</li></ul> ? ? ? ? ? ? ? ? ? ? ? ?而是?HTNL/CSS? ?● 文字? ?● 段落? ?● 表單? ?● 表格②?document.write(a.childNodes.firstChild.innerHTML);?為什么不能顯示第一個li的內容“文字”。
查看完整描述

2 回答

已采納
?
夜丶燈火闌珊0

TA貢獻1條經驗 獲得超3個贊

①第一個問題,innerHTML是會識別其中的標簽的,并且具有標簽自動補全功能,所以并不會像你說的那樣

②第二個問題,a指的是lesson4,那么lesson4有兩個子節(jié)點,第一個子節(jié)點為空格,第二個子節(jié)點為ul標簽

寫成document.write(a.childNodes[1].innerHTML)輸出的是無序列表,要想獲取第一個li中的內容,需要寫成

document.write(a.childNodes[1].childNodes[1].innerHTML) ?這樣會輸出第一個li中的內容,即 ?“文字”。


查看完整回答
3 反對 回復 2016-06-01
  • Cassie_yu
    Cassie_yu
    非常感謝您的回答 不過關于回答 ①innerHTML是會識別其中的標簽的,并且具有標簽自動補全功能 我有試過代碼 <p id="a">****<span>****</span>****</p> 當document.write(document.getElementById("a").innerHTML)后,輸出****<span>****</span>**** 那么此處的代碼為什么沒有識別標簽或者是補全呢?還是說有其他原因。 ②更改后的代碼確實是執(zhí)行了正確的結果,但是說 a指的是lesson4,那么lesson4有兩個子節(jié)點,第一個子節(jié)點為空格,第二個子節(jié)點為ul標簽 一點疑惑的是為避免空格節(jié)點的影響,我有將ul移到HTML/CSS后緊跟,那么第一個空格節(jié)點是在什么地方呢?
  • 夜丶燈火闌珊0
    夜丶燈火闌珊0
    ①按照你說的方法,我去試了下,<p id="p1">有沒有<span>識別</span>功能呢</p> document.write(document.getElementById('p1').innerHTML);,輸出的是 “有沒有識別功能呢”,并沒有出現(xiàn)你說的情況啊,而且各個瀏覽器都試過了一遍,谷歌,火狐,歐朋,IE9,IE6都顯示正常。 ②我寫成document.write(a.childNodes[0].nodeType); 這樣輸出的是3,證明這是一個文本節(jié)點,而寫成 document.write(a.childNodes[0].innerHTML);這樣輸出的是undefined,說明確實是一個換行符。如果將ul放在HTML/CSS的下一行,輸出的是同樣的結果。 為了獲取不包含空白節(jié)點和解釋節(jié)點的元素,可以使用children、firstElementChild、lastElementChild等 例如document.write(a.children[0].children[0].innerHTML);直接就可以輸出 “文字”。
  • Cassie_yu
    Cassie_yu
    已經找到問題的原因了 非常感謝 ^O^
?
肥仔匯

TA貢獻6條經驗 獲得超5個贊

① innerHTML會識別標簽,改成innerText即可


② a指向<li id="lesson4"></li>沒有錯

但是.a.childNodes有二

a.childNodes[0]????????????????????????????????指向?HTNL/CSS

a.childNodes[1]????????????????????????????????才是指向<ul>的

a.childNodes[1].childNodes[1]????????才是指向<li>文字</li>

a.childNodes[1].childNodes[0]????????指向的是<ul>和<li>間的空格


PS:

想要a.childNodes[1].childNodes[0]指向<li>文字</li>也行

<ul>后面緊接<li即可>?

??<li?id="lesson4">HTML/CSS<ul><li>文字</li>

然而這樣子看上去并不好看?: - )?

查看完整回答
反對 回復 2016-06-02
  • 2 回答
  • 0 關注
  • 1977 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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