我有一個非常復雜的代碼要解釋,而且我不是英語母語人士,所以我試圖用一個簡單的例子來解釋我的問題。
我有這個功能(我們稱之為功能檢查)。我向一個按鈕添加了一個事件監聽器(我們稱之為 button1)。單擊按鈕時,將執行該功能。
Function check () {
if (document.getElementById("id1").hasAttribute("clicked")) {
document.getElementById("id2").innerHTML = '<p>Hello World!</p>;
} else {
document.getElementById("id2").innerText = "Hello you";
}
}
button1.addEventListener("click", check);
所以問題來了:當它沒有屬性時,它會顯示“你好”。這是偉大的。再次單擊它仍然只顯示一次,再次很棒。但是,如果稍后它確實具有該屬性并且再次單擊該按鈕,那么感謝它將“Hello you”顯示為“Hello world!”。這不是很好。
更糟糕的是,如果“Hello you”已顯示或未顯示,則會發生這種情況,當我再次單擊該按鈕時,它會繼續添加innerHTML,因此即使“Hello world”已顯示,它只會在每次單擊時將其添加到下方按鈕。
有沒有辦法替換已經存在的文本或 html 代碼?
我已經嘗試在互聯網上查找它,但我找不到解決方案。我是初學者,所以我希望你能用一種簡單的方法來幫助我解決這個問題
uj5u.com熱心網友回復:
檢查這個
function check () {
if (document.getElementById("id1").hasAttribute("clicked")) {
document.getElementById("id2").innerHTML = '<p>Hello World!</p>';
} else {
document.getElementById("id2").innerText = "Hello you";
}
}
document.getElementById("button1").addEventListener("click", check);
document.getElementById("button2").addEventListener("click", changeAttr);
function changeAttr(){
document.getElementById("id1").setAttribute('clicked',true)
}
<div id="id1"></div>
<div id="id2"></div>
<button id="button1">Click</button>
<br/>
<br/>
<button id="button2">Add Attribute </button>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/480910.html
標籤:javascript html 功能 内部html 内文
