這是我的代碼。
var hitButton = document.querySelector('.btn-hit');
var scoreResults = document.querySelectorAll(".flex-blackjack-row-1 h3");
var scores = document.querySelector(".flex-blackjack-row-1 span");
const config = {childList: true};
const bustedMessage = document.createElement('h2');
bustedMessage.textContent = 'BUSTED!';
const busted = function (mutationList, observer){
if (parseInt(scores.textContent) > 21) {
console.log(scores.textContent)
scoreResults[0].before(bustedMessage);
hitButton.setAttribute('disabled', 'true');
}
}
const observer = new MutationObserver(busted);
observer.observe(scores, config);
在名為“busted”的回呼函式中,我向“hitButton”添加了一個屬性。但是當我嘗試在另一個函式中像這樣更新它時
hitButton.setAttribute('disabled', 'false');
它沒有被更新。
但我可以使用洗掉該屬性
hitButton.removeAttribute('disabled');
洗掉該屬性正在做我想做的事情。但是現在我需要知道,為什么我不能更新它而不是洗掉它?
uj5u.com熱心網友回復:
因為,HTML 標簽中的這些屬性只是布爾屬性。例如,如果“禁用”屬性存在,它會告訴瀏覽器禁用它,而不管您設定的值如何。
“checked”、“disabled”、“selected”、“muted”、“autoplay”、“loop”、“controls”是 HTML 中的一些布爾屬性。
谷歌“HTML 中的布爾屬性”。您將了解更多相關資訊。希望它能回答你的問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/356446.html
標籤:javascript 打回来 设置属性
