我已经在HTML5 + Javascript中动态创建了一个按钮。我已为该按钮分配了一个点击事件。当我点击它时,它是内容&背景颜色应该改变。内容正在变化,但bgcolor没有变化。
我的代码是;
<style>
.selectBtn{ height:60px;width:80px;background-color:yellow; }
</style>
<script>
var container = document.getElementById('abc');
function dx(){
var Btn = document.createElement('button');
Btn.type = 'button';
Btn.className = 'selectBtn';
Btn.innerHTML = 'SUBMIT';
container.appendChild(Btn);
Btn.onclick = function()
{
this.innerHTML='voted';
this.style.backgroundColor:'blue';
}
dx();
</script>
<body><div id='abc'></div></body>
答案 0 :(得分:1)
使用=
代替colon
。使用此: -
this.style.backgroundColor = "#f47121";
答案 1 :(得分:0)
你不会改变一些事情
var container = document.getElementById('abc');
function dx(){
var Btn = document.createElement('button');
Btn.className = 'selectBtn';
Btn.innerHTML = 'SUBMIT';
container.appendChild(Btn);
Btn.onclick = function() {
this.innerHTML='voted';
this.style.backgroundColor = 'blue';
}
}
我不确定Btn.type = 'button';
是否有效,但肯定没有意义
以及要将:
更改为=
的样式,您只在对象中使用:
另外,您可能不会使用textContent
而不是innerHTML
答案 2 :(得分:0)
我无法抗拒地展示我将如何做到这一点,只是为了娱乐和教育目的。
window.onload = function(){
(function(){
var doc = document;
var get = function(id){return doc.getElementById(id);};
var inject = function(el,str){el.innerHTML = str;return el;};
inject(get('content'),'<button type="button" id="btn-select">SUBMIT</button>');
get('btn-select').onclick = function(){inject(this,'Voted!').className = 'voted';};
})();
};