我需要它使用基于“ checked”的开关将link6 / linkr / link更改为“ t”,开关正常工作,但不能将link6 / linkr更改为“ t”
反正开关不会将链接更改为“ t”
使用调试器我发现它不想触发,请帮助我使其可触发
var link6 = "r";
var linkr = "r";
var linkd = "r";
function download74() {
document.getElementById('link1' + link6).click();
}
function download143() {
document.getElementById('link2' + linkr).click();
}
function download198() {
document.getElementById('link3' + linkd).click();
}
function myFunction74() {
if (confirm("Вы собираетесь скачать 74 devblog (RustUP)!")) {
download74();
} else {
return 0;
}
}
function myFunction143() {
if (confirm("Вы собираетесь скачать 143 devblog (Immortal)!")) {
download143();
} else {
return 0;
}
}
function myFunction198() {
if (confirm("Вы собираетесь скачать 198 devblog (TRINITY)!")) {
download198();
} else {
return 0;
}
}
var value = 0;
var checkbox1 = document.getElementById("checkbox1");
checkbox1.checked = value;
document.getElementById("checkbox1").addEventListener("change", function(element){
if (element.checked) {
link6 = "t";
} else {
link6 = "r";
}
});
var checkbox2 = document.getElementById("checkbox2");
checkbox2.checked = value;
debugger;
document.getElementById("checkbox2").addEventListener("change", function(element){
if (element.checked) {
conslose.log("works");
linkr = "t";
} else {
console.log("dont");
linkr = "r";
}
});
var checkbox3 = document.getElementById("checkbox3");
checkbox3.checked = value;
document.getElementById("checkbox3").addEventListener("change", function(element){
if (element.checked) {
linkd = "t";
} else {
linkd = "r";
}
});
```
答案 0 :(得分:0)
您正在匿名更改函数中使用“ if(checkbox1.checked)”,但是当触发此代码时,checkbox1元素不再存在。您需要执行“ if(this.checked)”或“ if(element.checked)”。
答案 1 :(得分:0)
我举了一个例子。看看是否适合您:
var checkbox2 = document.getElementById("checkbox2");
checkbox2.checked = value;
checkbox2.addEventListener('change', (event) => {
if (event.target.checked) {
linkr = "t";
} else {
linkr = "r";
}
})