不能 console.log() .style.display 信息
Can't console.log() .style.display information
当我点击我的输入标签时,我能够更正显示和隐藏下拉菜单之间的切换,但是当控制台记录显示的样式时,控制台上没有显示任何内容。看不到这个的解释是什么?我将如何尝试正确查看我使用的显示样式?
document.getElementById('search').addEventListener("click", function () {
const grid1 = document.querySelector(".modal");
grid1.style.display = grid1.style.display ? "none" : "flex";
console.log(grid1.style.display);
});
而不是使用 'yourelement.style.display' 使用 'getComputedStyle' 函数来获取任何 属性 在这种情况下 'display' 的值,那是因为计算样式包含所有 CSS 属性设置为一个元素。即使不为元素设置 属性。您仍然会在计算样式中发现 属性。
使用 'getComputerStyle'
修改您的代码
document.getElementById('search').addEventListener("click", function () {
const grid1=document.querySelector(".modal")
console.log(window.getComputedStyle(grid1).display)
grid1.style.display = window.getComputedStyle(grid1).display == "none" ? "flex" : "none";
console.log(window.getComputedStyle(grid1).display)
})
.modal {
display: none;
}
<input id="search">
<select class="modal"></select>
更多说明请查看 MDN Web 文档Window.getComputedStyle()
当我点击我的输入标签时,我能够更正显示和隐藏下拉菜单之间的切换,但是当控制台记录显示的样式时,控制台上没有显示任何内容。看不到这个的解释是什么?我将如何尝试正确查看我使用的显示样式?
document.getElementById('search').addEventListener("click", function () {
const grid1 = document.querySelector(".modal");
grid1.style.display = grid1.style.display ? "none" : "flex";
console.log(grid1.style.display);
});
而不是使用 'yourelement.style.display' 使用 'getComputedStyle' 函数来获取任何 属性 在这种情况下 'display' 的值,那是因为计算样式包含所有 CSS 属性设置为一个元素。即使不为元素设置 属性。您仍然会在计算样式中发现 属性。
使用 'getComputerStyle'
修改您的代码document.getElementById('search').addEventListener("click", function () {
const grid1=document.querySelector(".modal")
console.log(window.getComputedStyle(grid1).display)
grid1.style.display = window.getComputedStyle(grid1).display == "none" ? "flex" : "none";
console.log(window.getComputedStyle(grid1).display)
})
.modal {
display: none;
}
<input id="search">
<select class="modal"></select>
更多说明请查看 MDN Web 文档Window.getComputedStyle()