亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為啥將斜體變為粗體就不行?

http://img1.sycdn.imooc.com//57e77199000144d104800486.jpg

求諸位大神詳解


正在回答

4 回答

replaceChild(newnode,oldnode)每次使用的時候,所有與之相關的屬性內容被清空,也就是說你第一次替換之后,那個位置的id屬性已經清空了,變成了<i>JavaScript</i>,你已經無法通過oldnode=document.getElementById("oldnode")獲取節點了,所以每次替換著以后你要給替換上的節點添加id屬性,具體如下面代碼

--------------------------------------------------------------

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>childNodes</title>

</head>

<body>

<script type="text/javascript">

function replaceMessage(){

var change=document.getElementById("change");

var oldnode=document.getElementById("oldnode");

if (oldnode.nodeName=="B"){

var newnode=document.createElement("i");

newnode.innerHTML=oldnode.innerHTML;

oldnode.parentNode.replaceChild(newnode,oldnode);

oldnode=null;

newnode.setAttribute("id","oldnode");

change.innerHTML="斜體改粗體";

}

else {

var newnode=document.createElement("b");

newnode.innerHTML=oldnode.innerHTML;

oldnode.parentNode.replaceChild(newnode,oldnode);

oldnode=null;

newnode.setAttribute("id","oldnode");

change.innerHTML="粗體改斜體";

}

}

</script>

<b id="oldnode">Java</b><br>

<a href="javascript:replaceMessage()" id="change">粗體改斜體</a>

</body>

</html>


1 回復 有任何疑惑可以回復我~
#1

qq_愁悵_03698152 提問者

非常感謝!
2016-10-06 回復 有任何疑惑可以回復我~

http://img1.sycdn.imooc.com//57e8b2a800013a9404690502.jpg

改成這樣還是不行?該咋辦了?


0 回復 有任何疑惑可以回復我~

沒有將新創建的元素重新設置ID,應該在createElemrnt之后給新標簽添加id:newnode.setAttribute("id", "oldnode");

1 回復 有任何疑惑可以回復我~
#1

qq_愁悵_03698152 提問者

怎么添加,我不會可以說的再詳細點嗎? 拜托了
2016-09-26 回復 有任何疑惑可以回復我~

大小寫B有問題吧

1 回復 有任何疑惑可以回復我~
#1

qq_愁悵_03698152 提問者

我試過小寫的 但是不行 直接 粗變斜都不行 不過 也謝謝你了
2016-09-26 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468832    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

為啥將斜體變為粗體就不行?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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