怎么點擊第一下沒有反應(yīng),然后再點擊一下刪除了3個,然后再點擊依次刪除一個
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無標題文檔</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é)點內(nèi)容</button>
2018-05-05
看完你們的見解,明白了好多,謝謝各位大神
2017-05-26
小于飛飛大神學習時間太————了吧,算了下,每天學習24小時,一年到頭不休息,也要學5年多啊。
2017-05-26
小于飛飛大神學習時間太————了吧,算了下,每天學習24小時,一年到頭不休息,也要學5年多啊。
2017-02-25
超級簡單,或者用while也可以
2016-12-05
研究了一下,這個問題其實主要的原因有兩個:
1、?content.childNodes.length 不能直接寫進循環(huán)條件里,因為每次執(zhí)行后子節(jié)點的數(shù)量都會變,所以應(yīng)該在循環(huán)前先把子節(jié)點數(shù)量賦值給一個變量,再放到循環(huán)條件里。
2、最后刪除節(jié)點?content.removeChild(content.childNodes[0]); 這里的子節(jié)點下標也不能是循環(huán)里的自增變量(i),因為第一次循環(huán)刪除了第1個子節(jié)點,那么第2個子節(jié)點就會變成第1個子節(jié)點,第3個子節(jié)點會變成第2個子節(jié)點,以此類推……
當?shù)诙窝h(huán)時 i=1,也就是刪除第2個子節(jié)點(原第3個節(jié)點),是會跳過1個節(jié)點刪除的,因為循環(huán)條件在自增,而節(jié)點是在遞減。
比如,原來5個子節(jié)點分別是:
html(刪除)
php(跳過,第2次點擊才會被刪除)
javascript(刪除)
jquery(跳過,第3次點擊才會被刪除)
java(刪除)
最后代碼:
2016-11-03
2016-10-29
大言不慚次,哈哈。搞懂這個這節(jié)就可以出師了。
<div id="content">1
? <h1>html</h1>2
? <h1>php</h1>3
? <h1>javascript</h1>4
? <h1>jquery</h1>5 ?
? <h1>java</h1>6 ?
</div>
<script type="text/javascript">
var content=document.getElementById("content");
var x=content.childNodes;
function get_nextSibling(n){
??? var x=n.nextSibling;
??? while(x && x.nodeType!=1){ ?
??????? x=x.nextSibling;?? ?
??? }?? ?
??? return x;????? ?
??? }??? ?
function clearText() {
??? nodel=x.length
??? for(var i=0;i<nodel;i=i+10){????????? ?
??????? var y=get_nextSibling(x[i]);?????????????? ?
??????? if(y!=null){
??????????? content.removeChild(y);??????????????? ?
???????? }else{
????????? document.write("<br>已經(jīng)是最后一個節(jié)點");????? ?
???????? }
??? } ??
}
</script>??
<button onclick="clearText()">清除節(jié)點內(nèi)容</button>
2016-10-13
?var jj = content.childNodes;
? for(var i=0;i<jj.length;)
? content.removeChild(jj[i]);
?
? return clearText;
} ? i不要自加就可以做到一鍵清除了
2016-10-10
謝謝分享。
2016-09-11
這樣可以清楚得看到共清除了11個節(jié)點,將注釋取消就可以每次清除一個h1節(jié)點,將break注釋可以一次全清
function clearText() {
? var content=document.getElementById("content");
? // 在此完成該函數(shù)
? x=content.childNodes;
? for(i=0;i<x.length;i++){
? ? ? ? // ? if(x[i].nodeType!=1){
? ? ? ? // ? ? ? ? ? continue;
? ? ? ? // ? }else{
? ? ? ? ? ? ? ? ? ?y=content.removeChild(x[i]);
? ? ? ? ? ? ? ? ? ?document.getElementById("chakan").innerHTML=y.innerHTML;
? ? ? ? ? ? ? ? break;
? ? ? ? // ? ?} ? ??
? ? }?
}