如果要將斜體改為粗體
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>無(wú)標(biāo)題文檔</title>
</head>
<body>
? <div><b id="oldnode">JavaScript</b>是一個(gè)很常用的技術(shù),為網(wǎng)頁(yè)添加動(dòng)態(tài)效果。</div>
? <a href="javascript:replaceMessage()"> 將加粗改為斜體</a>
? <a href="javascript:bag()">將斜體改為粗體</a>
? ? <script type="text/javascript">
? ? var oldNode,newNode,a,c
? ? ? function replaceMessage(){
? ? ? ? ? newNode=document.createElement("i");
? ?newnodeText=document.createTextNode("javascript");
? ? ? ? ? ?newNode.appendChild(newnodeText);
? ? ? ? ? ? oldNode=document.getElementById("oldnode");
? ? ? ? ? ?oldNode.parentNode.replaceChild(newNode,oldNode);
? ? ? ?}?
? ? ? ?function bag(){
? ? ? ? ? ?a=document.createElement("b");
? ? ? ? ? ? ?c=document.getElementById("newNode");
? ? ? ? ? ?a.innerHTML=c.innerHTML;
? ? ? ? ? c.parentNode.replaceChild(a,c);
? ? ? ?}
? </script>
??
?</body>
</html>
我想將斜體再改回粗體,請(qǐng)大神看看哪里不對(duì)呢,為什么不行
2017-02-08
報(bào)錯(cuò):Uncaught TypeError: Cannot read property 'innerHTML' of null。
第二個(gè)函數(shù)改成
? ? ? ?function bag(){
? ? ? ? ? ?a=document.createElement("b");
? ? ? ? ? ?o=document.getElementsByTagName('div');
? ? ? ? ? ?c=o[0].childNodes[0];
? ? ? ? ? ?a.innerHTML=c.innerHTML;
? ? ? ? ? c.parentNode.replaceChild(a,c);
? ? ? ?}
就可以了。但是你要再轉(zhuǎn)換回去,又有bug。就是第一個(gè)函數(shù)的
2017-02-04
其實(shí)也可以先設(shè)置id,兩種方法,你自己看下都行:
2017-02-04
你在本地編輯器里寫好代碼,在瀏覽器中查看效果時(shí),可以F12經(jīng)行調(diào)試,可以找到問(wèn)題所在,可以幫自己更好的改進(jìn)
2017-02-04
看圖,當(dāng)你改變"b"為"i"之后,并沒(méi)有設(shè)置id為多少,是吧?看劃線地方
那么你去找尋id="newNode"就是找不到的啦!
下面是把你代碼改了下,就可以實(shí)現(xiàn)你想要的效果了:
2017-01-09
是不是成員變量和局部變量的區(qū)別?
2017-01-08
c=document.getElementById("newNode"); // 這個(gè)newnode怎么會(huì)出現(xiàn)?