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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何從計算器中刪除 document.write()

如何從計算器中刪除 document.write()

慕村9548890 2023-09-28 10:31:47
如何使此計算器在 ' 符號之后的第一頁上顯示結果,=而不破壞頁面上的所有 html document.write()?我知道這document.write()就是問題所在,但我不知道還有什么可以使用的。我對編碼非常陌生,因此非常感謝任何幫助。我對除法部分也有一個問題,因為它將結果放在余數旁邊,但是,一旦問題document.write()得到解決,我認為解決方案應該變得更加明顯。謝謝你!<head>  <script language="javascript" type="text/javascript">    function add() {      var input1 = parseInt(document.getElementById("t1").value);      var input2 = parseInt(document.getElementById("t2").value);      var result = input1 + input2;      document.write(result);    }    function divide() {      var input1 = parseInt(document.getElementById("t3").value);      var input2 = parseInt(document.getElementById("t4").value);      var result = Math.floor(input1 / input2);      var remainder = input1 % input2      document.write(result)      document.write(remainder)    }    function multiply() {      var input1 = parseInt(document.getElementById("t5").value);      var input2 = parseInt(document.getElementById("t6").value);      var result = input1 * input2;      document.write(result);    }    function subtract() {      var input1 = parseInt(document.getElementById("t7").value);      var input2 = parseInt(document.getElementById("t8").value);      var result = input1 - input2;      document.write(result);    }  </script>  <title>java</title></head><body>  Addition  <p>    <input type="text" id="t1" name="t1"> +    <input type="text" id="t2" name="t2">    <input type="button" id="add" value="=" onClick="add();">  </p>  <p>    Subtraction    <p>      <input type="text" id="t7" name="t7"> -      <input type="text" id="t8" name="t8">      <input type="button" id="subtract" value="=" onClick="subtract();"></body></html>
查看完整描述

2 回答

?
紅顏莎娜

TA貢獻1842條經驗 獲得超13個贊

您可以使用textContentinnerHTML。

這是一個使用的示例textContent

function add() {

? var input1 = parseInt(document.getElementById("t1").value);

? var input2 = parseInt(document.getElementById("t2").value);

? var result = input1 + input2;

? document.getElementById('add-result').textContent = result;

}


function divide() {

? var input1 = parseInt(document.getElementById("t3").value);

? var input2 = parseInt(document.getElementById("t4").value);

? var result = Math.floor(input1 / input2);

? var remainder = input1 % input2

? document.getElementById('divide-result').textContent = result;

? document.getElementById('divide-remainder').textContent = remainder;

}


function multiply() {

? var input1 = parseInt(document.getElementById("t5").value);

? var input2 = parseInt(document.getElementById("t6").value);

? var result = input1 * input2;

? document.getElementById('multiply-result').textContent = result;

}


function subtract() {

? var input1 = parseInt(document.getElementById("t7").value);

? var input2 = parseInt(document.getElementById("t8").value);

? var result = input1 - input2;

? document.getElementById('subtract-result').textContent = result;

}

<div>

? <h1>Addition</h1>

? <input type="text" id="t1" name="t1"> +

? <input type="text" id="t2" name="t2">

? <input type="button" id="add" value="=" onClick="add();">

? <span id="add-result"></span>

</div>

<div>

? <h1>Subtraction</h1>

? <input type="text" id="t7" name="t7"> -

? <input type="text" id="t8" name="t8">

? <input type="button" id="subtract" value="=" onClick="subtract();">

? <span id="subtract-result"></span>

</div>

<div>

? <h1>Multiplication</h1>

? <input type="text" id="t5" name="t5"> *

? <input type="text" id="t6" name="t6">

? <input type="button" id="multiply" value="=" onClick="multiply();">

? <span id="multiply-result"></span>

</div>

<div>

? <h1>Division</h1>

? <input type="text" id="t3" name="t3"> ÷

? <input type="text" id="t4" name="t4">

? <input type="button" id="divide" value="=" onClick="divide();">

? <span id="divide-result"></span> |?

? <span id="divide-remainder"></span>

</div>

withtextContent只能設置文本,withinnerHTML可以設置 HTML:

function add() {

? var input1 = parseInt(document.getElementById("t1").value);

? var input2 = parseInt(document.getElementById("t2").value);

? var result = input1 + input2;

? document.getElementById('add-result').innerHTML = `<i style="color: blue">${result}</i>`;

}


function divide() {

? var input1 = parseInt(document.getElementById("t3").value);

? var input2 = parseInt(document.getElementById("t4").value);

? var result = Math.floor(input1 / input2);

? var remainder = input1 % input2

? document.getElementById('divide-result').innerHTML = `<i style="color: blue">${result}</i>`;

? document.getElementById('divide-remainder').innerHTML = `<i style="color: blue">${remainder}</i>`;

}


function multiply() {

? var input1 = parseInt(document.getElementById("t5").value);

? var input2 = parseInt(document.getElementById("t6").value);

? var result = input1 * input2;

? document.getElementById('multiply-result').innerHTML = `<i style="color: blue">${result}</i>`;

}


function subtract() {

? var input1 = parseInt(document.getElementById("t7").value);

? var input2 = parseInt(document.getElementById("t8").value);

? var result = input1 - input2;

? document.getElementById('subtract-result').innerHTML = `<i style="color: blue">${result}</i>`;

}

<div>

? <h1>Addition</h1>

? <input type="text" id="t1" name="t1"> +

? <input type="text" id="t2" name="t2">

? <input type="button" id="add" value="=" onClick="add();">

? <span id="add-result"></span>

</div>

<div>

? <h1>Subtraction</h1>

? <input type="text" id="t7" name="t7"> -

? <input type="text" id="t8" name="t8">

? <input type="button" id="subtract" value="=" onClick="subtract();">

? <span id="subtract-result"></span>

</div>

<div>

? <h1>Multiplication</h1>

? <input type="text" id="t5" name="t5"> *

? <input type="text" id="t6" name="t6">

? <input type="button" id="multiply" value="=" onClick="multiply();">

? <span id="multiply-result"></span>

</div>

<div>

? <h1>Division</h1>

? <input type="text" id="t3" name="t3"> ÷

? <input type="text" id="t4" name="t4">

? <input type="button" id="divide" value="=" onClick="divide();">

? <span id="divide-result"></span> |

? <span id="divide-remainder"></span>

</div>

值得注意的是,innerHTML這里提到存在安全問題:

...有多種方法可以在不使用元素的情況下執行 JavaScript,因此每當您使用 innerHTML 來設置您無法控制的字符串時,仍然存在安全風險。例如:

const?name?=?"<img?src='x'?onerror='alert(1)'>";
el.innerHTML?=?name;?//?shows?the?alert

因此,建議您在插入純文本時不要使用innerHTML;相反,使用 Node.textContent。這不會將傳遞的內容解析為 HTML,而是將其作為原始文本插入。


以下是一些用于操作 DOM 的其他方法:

  • 插入相鄰元素

  • 內部文本

  • 插入相鄰HTML

  • 插入相鄰文本

  • 插入之前

  • 附加子項

  • 替換子項

  • 刪除子項

  • 節點值

  • 外部HTML

  • 外部文本

  • 消除


查看完整回答
反對 回復 2023-09-28
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

正如您所發現的,document.write()它很棘手,因為它在使用時傾向于覆蓋現有內容。

注意:由于 document.write() 寫入文檔流,因此在關閉(已加載)文檔上調用 document.write() 會自動調用 document.open(),這將清除文檔。

嗯,那我們還能做什么呢?幸運的是,可以定位頁面的特定部分并僅替換這些元素中的內容。因此,例如,我們可以將<span>具有 id 等的元素#add-result添加#div-result到頁面,其中將包含其各自操作的結果。document.write()然后,我們可以替換這些元素中的內容,而不是使用它來輸出結果。

讓我們添加一個<span>來包含我們的添加結果:

? ? ?Addition<p>

? ? ? ? ? ? <input type="text" id="t1" name="t1" /> +

? ? ? ? ? ? <input type="text" id="t2" name="t2" />

? ? ? ? ? ? <input type="button" id="add" value="=" onClick="add();" />

? ? ? ? ? ? <span id="add-result></span>

? ? ? ? ? ? </p>

(注意:記得用 關閉<input />標簽/>?。?/p>


我們如何針對特定元素?與document.querySelector(). 文檔


然后,我們可以通過更新屬性輕松更改該元素內部的內容element.textContent,就像變量一樣:


? ? function add(){

? ? ? ? var input1 = parseInt(document.getElementById("t1").value);

? ? ? ? var input2 = parseInt(document.getElementById("t2").value);

? ? ? ? var result = input1+input2;

? ? ? ??

? ? ? ? // get the element with the #add-result ID

? ? ? ? var element = document.querySelector("#add-result");


? ? ? ? // update the content in that element

? ? ? ? element.textContent = result;

? ? }

現在,當您將兩個數字相加并按 時=,結果將顯示在<span id="add-result"></span>元素內部,而不是覆蓋整個頁面??纯词欠褚部梢允蛊溥m用于其他輸入。請記住,您需要為要在其中顯示結果的每個元素提供唯一的ID,并相應地更新計算函數!


查看完整回答
反對 回復 2023-09-28
  • 2 回答
  • 0 關注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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