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

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

請問大佬為什么只能轉換一次???頭皮發麻??!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>無標題文檔</title>

<script type="text/javascript">

? ? ? function replaceMessage(){

? ? ? ? ?var Ier=document.createElement("i");

? ? ? ? ?var Ber=document.createElement("b");

var Old=document.getElementsByTagName("div")[0].firstChild;

var OldHTML=Old.innerHTML ;

if(Old.tagName=="b"||"B"){

? ?Old.parentNode.replaceChild(Ier,Old);

? ?Ier.innerHTML=OldHTML ;

}

else if(Old.tagName=="i"||"I"){

? ?Old.parentNode.replaceChild(Ber,Old);

? ?Ber.innerHTML=OldHTML;

}

? ? ? ?}

? </script>

</head>

<body>

<div><b>JavaScript是一個很常用的技術,為網頁添加動態效果。</b></div>

<br/>

<input type="button" value="加粗和斜體轉換" onclick="replaceMessage()"/>

</body>

</html>


正在回答

1 回答

"=="運算符的優先級比"||"高!

你寫的if語句的條件是 if(Old.tagName=="b"||"B") ,而字符串"B"等價于boolean的true,所以這個判斷條件總是返回true。根本不會進行到else if()的分支。

應該寫成:

if(Old.tagName=="b"||Old.tagName=="B")。

else if(Old.tagName=="i"||Old.tagName=="I")。

其他都沒問題。

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

加了椰子汁的冰 提問者

多謝大佬解惑,果然都是細節要命
2018-08-10 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請問大佬為什么只能轉換一次???頭皮發麻??!

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

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

幫助反饋 APP下載

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

公眾號

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