怎么點(diǎn)擊第一下沒有反應(yīng),然后再點(diǎn)擊一下刪除了3個(gè),然后再點(diǎn)擊依次刪除一個(gè)
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標(biāo)題文檔</title>
</head>
<body>
<div id="content">
? <h1>html</h1>
? <h1>php</h1>
? <h1>javascript</h1>
? <h1>jquery</h1>
? <h1>java</h1>
</div>
<script type="text/javascript">
function clearText() {
? var content=document.getElementById("content");
? for(i=0;i<content.childNodes.length;i++)
? {
? ? ? var x=content.removeChild(content.childNodes[i]);
? ? ? x=null;
? }
}
</script>
<button onclick="clearText()">清除節(jié)點(diǎn)內(nèi)容</button>
2015-07-20
我發(fā)現(xiàn)問題在于for循環(huán)里面的i值的變化,不是應(yīng)該++,而是應(yīng)該--;你們談?wù)摿四敲淳茫?lt;script type="text/javascript">
function clearText() {
? var content=document.getElementById("content");
? // 在此完成該函數(shù)
? var o = content.childNodes.length;
? var i=0
? for(i = 1; i<o; i--){
????? content.removeChild(content.childNodes[i]);
? }
}
</script>
這樣問題就搞定了
2015-06-09
還有這個(gè)啊 高大上
2015-05-14
length不斷改變,子節(jié)點(diǎn)的數(shù)組也在改變
2015-04-17
呵呵,,,
2015-04-08
給老師點(diǎn)贊 很清晰的講解
2015-04-06
厲害,原來content.childNodes.length是個(gè)變量了!
2015-02-05
棒棒的!
2015-01-23
理解這個(gè)問題!看完置頂回答后再做個(gè)試驗(yàn)就一目了然!在每個(gè)空白處,原來不是沒有文本么,自己輸入文本,比如依次1-6!這時(shí)就會(huì)發(fā)現(xiàn)第一次點(diǎn)擊按鈕刪除的是1-6這6個(gè)數(shù)字,然后再點(diǎn)擊才刪除的是前3個(gè)!對(duì)于第二次只是刪除了前三個(gè),就是樓上的置頂解釋,因?yàn)閯?dòng)態(tài)變化。
這里再說明一下為何刪除1-6!我的代碼中childnode=content.childNodes,這里childnode其實(shí)是c++中引用的意思,也就是他只是別名,是沒有內(nèi)存空間的,與下面的num=childnode.length不同,這個(gè)num是不會(huì)再隨著節(jié)點(diǎn)的動(dòng)態(tài)變化而變化了,因?yàn)樗凶约旱目臻g,且空間中存儲(chǔ)了相應(yīng)的值,你不去做變動(dòng),它是不會(huì)變化的。而前面的childnode由于是引用,也就是他本質(zhì)是content.childNodes的值,是動(dòng)態(tài)變化的,也就是這里的子節(jié)點(diǎn)在動(dòng)態(tài)變化!這樣子節(jié)點(diǎn)每次刪除一次后前移1個(gè),i又加1剛好就是全部刪除的都是文本,也就是我這里加入的1-6!
至于刪到6循環(huán)停止了,那就是再往后循環(huán)在繼續(xù),已經(jīng)沒有可以刪除的東西了,所以看到的效果是只刪除到最后一個(gè)文本了,但實(shí)際循環(huán)還是做滿了11次停止,之后后面沒內(nèi)容了!
說了這么多,就這樣吧!再多說自己也暈了,按規(guī)范搞法就行,想這么多沒有意義!
2015-01-16
到時(shí)候?qū)WJQ之后,寫法會(huì)變得好高大上。一句搞定
2015-01-16
自己想了半天,原來是這個(gè)問題! ?回答的非常詳細(xì),非常有幫助! 非常感謝