怎么點(diǎn)擊第一下沒(méi)有反應(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>無(wú)標(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>
2018-05-05
看完你們的見(jiàn)解,明白了好多,謝謝各位大神
2017-05-26
小于飛飛大神學(xué)習(xí)時(shí)間太————了吧,算了下,每天學(xué)習(xí)24小時(shí),一年到頭不休息,也要學(xué)5年多啊。
2017-05-26
小于飛飛大神學(xué)習(xí)時(shí)間太————了吧,算了下,每天學(xué)習(xí)24小時(shí),一年到頭不休息,也要學(xué)5年多啊。
2017-02-25
超級(jí)簡(jiǎn)單,或者用while也可以
2016-12-05
研究了一下,這個(gè)問(wèn)題其實(shí)主要的原因有兩個(gè):
1、?content.childNodes.length 不能直接寫(xiě)進(jìn)循環(huán)條件里,因?yàn)槊看螆?zhí)行后子節(jié)點(diǎn)的數(shù)量都會(huì)變,所以應(yīng)該在循環(huán)前先把子節(jié)點(diǎn)數(shù)量賦值給一個(gè)變量,再放到循環(huán)條件里。
2、最后刪除節(jié)點(diǎn)?content.removeChild(content.childNodes[0]); 這里的子節(jié)點(diǎn)下標(biāo)也不能是循環(huán)里的自增變量(i),因?yàn)榈谝淮窝h(huán)刪除了第1個(gè)子節(jié)點(diǎn),那么第2個(gè)子節(jié)點(diǎn)就會(huì)變成第1個(gè)子節(jié)點(diǎn),第3個(gè)子節(jié)點(diǎn)會(huì)變成第2個(gè)子節(jié)點(diǎn),以此類推……
當(dāng)?shù)诙窝h(huán)時(shí) i=1,也就是刪除第2個(gè)子節(jié)點(diǎn)(原第3個(gè)節(jié)點(diǎn)),是會(huì)跳過(guò)1個(gè)節(jié)點(diǎn)刪除的,因?yàn)檠h(huán)條件在自增,而節(jié)點(diǎn)是在遞減。
比如,原來(lái)5個(gè)子節(jié)點(diǎn)分別是:
html(刪除)
php(跳過(guò),第2次點(diǎn)擊才會(huì)被刪除)
javascript(刪除)
jquery(跳過(guò),第3次點(diǎn)擊才會(huì)被刪除)
java(刪除)
最后代碼:
2016-11-03
2016-10-29
大言不慚次,哈哈。搞懂這個(gè)這節(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)是最后一個(gè)節(jié)點(diǎn)");????? ?
???????? }
??? } ??
}
</script>??
<button onclick="clearText()">清除節(jié)點(diǎn)內(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個(gè)節(jié)點(diǎn),將注釋取消就可以每次清除一個(gè)h1節(jié)點(diǎn),將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;
? ? ? ? // ? ?} ? ??
? ? }?
}