此条件不起作用。当我单击时,它应该隐藏所有li元素,当我再次单击时,它应该显示所有已隐藏但不起作用的li元素
hide.addEventListener("click", function() {
Array.from(list.children).forEach(function(k){
if(k.style.display === "block") {
k.style.display = "none";
hide.textContent = "Show";
list.style.backgroundColor = "rgba(0, 0, 0, 33%)";
list.style.borderRadius = "8px";
document.querySelector(".hidden").style.display = "block";
input.setAttribute("disabled", "disabled");
}
else if (k.style.display === "none") {
hide.textContent = "Hide";
k.style.display = "block";
list.style.backgroundColor == "transparent";
list.style.borderRadius = "";
document.querySelector(".hidden").style.display = "none";
input.removeAttribute("disabled");
}
else {
};
})
});
答案 0 :(得分:0)
Array.from(list.children).forEach(function(k){
if(k.style.display == "block") {
k.style.display = "none";
hide.textContent = "Show";
list.style.backgroundColor = "rgba(0, 0, 0, 33%)";
list.style.borderRadius = "8px";
document.querySelector(".hidden").style.display = "block";
input.setAttribute("disabled", "disabled");
}
else if (k.style.display == "none") {
hide.textContent = "Hide";
k.style.display = "block";
list.style.backgroundColor == "transparent";
list.style.borderRadius = "";
document.querySelector(".hidden").style.display = "none";
input.removeAttribute("disabled");
}
else {
};
});
当您尝试比较两个值时,请记住使用==
或===
而不是=
。使用=
表示您的 DECLARING 值,而使用==
或===
则表示您的< strong> 比较 的两个值。仅当您想要精确时才使用===
,例如1 == '1'
为true,而1 === '1'
为false,因为一个是整数而一个是字符串,因此它们并不精确一样。
关于JQuery的另一个好处是,您可以使用其许多内置函数来 toggle 某些事情,在这种情况下,您可以使用.toggleClass()并具有相同的效果:
Array.from(list.children).forEach(function(k){
k.toggleClass('hidden');
});
然后在您的CSS中,您可以:
.hidden {
display = 'block';
}