我是一个初学者,想知道你们是否可以提供帮助。如何使用纯js更改按钮内显示的文本?
我在网上看到很多关于使用innerHTML
,textContent
,value
等的东西来改变显示的标签文本,但我不能让它实际上在屏幕上改变。
注意:console.log
的确会触发并在控制台中显示正确的内容,但按钮内容不会在窗口中更改。
这里是我的html:
<h1 id="myHeading" class="red">JavaScript and the DOM</h1>
<p>Making a web page interactive</p>
<button id="myButton">click me</button>
这里是我的javascript:
const myHeading = document.getElementById('myHeading');
const myButton = document.getElementById('myButton');
let buttonText = myButton.innerText;
console.log(buttonText);
myButton.addEventListener('click', function toggleColor() {
let whatClass = myHeading.classList;
if (whatClass.contains('red')) {
whatClass.remove('red');
whatClass.add('yellow');
buttonText = 'Click me to change text to Red!';
console.log(buttonText);
} else if (whatClass.contains('yellow')) {
whatClass.remove('yellow');
whatClass.add('red');
buttonText = 'Click me to change text to Yellow!';
console.log(buttonText);
}
});
在此先感谢,并请不要太苛刻!
你是否明确设置myButton'的'了'innerHTML'属性,当你设置'buttonText'? – clabe45
'myButton.innerText'不会给你一个参考值,所以可以通过它进行更新。使用'myButton.innerHTML =“新建按钮文本”;' – marekful