我正在尝试将一个简单的 To Do 应用程序作为任务,在这段代码中,每次单击按钮时都会创建一个复选框,并且计数器会跟踪未选中的复选框,所以我做了一个简单的 if-else 语句。点击框减少未选中的计数器,反之亦然..我的问题是this,这里的代码我觉得它是合乎逻辑的,因为validate()它已经是复选框的一个属性,它不应该通过this
const aCheckbox = document.createElement("INPUT");
aCheckbox.setAttribute('type', 'checkbox');
aCheckbox.setAttribute('onclick', 'validate()');
function validate() {
if(this.checked) {
console.log('Checked');
}
}
上面的代码不工作,我尝试下面的代码和它的工作,不同的是,this当传递validate()被调用,而第一个代码this被调用validate(),那么为什么第一个代码不工作,即使函数被调用在复选框内?
const aCheckbox = document.createElement("INPUT");
aCheckbox.setAttribute('type', 'checkbox');
aCheckbox.setAttribute('onclick', 'validate(this)');
function validate(x){
if(x.checked){
console.log('Checked');
}
}
慕妹3242003
摇曳的蔷薇
慕少森
相关分类