当我尝试使用 javascript 调用 document.getElementById(elemId).style.visibility = visible/hidden 隐藏/显示 DOM 中的元素时遇到问题。
这是一个非常奇怪的行为,当我通过 id 获取 DOM 元素并将可见性设置为可见时,在控制台中我可以看到内联样式已被修改但屏幕上的元素仍然隐藏。
我会链接一个我的问题的 fiddle 例子,希望有人能帮忙
这是我用来隐藏/显示 DOM 元素的函数
function updateHTML(elmId, value) {
var elem = document.getElementById(elmId);
if (typeof elem !== 'undefined' && elem !== null) {
document.getElementById(elmId).style.visibility = value;
console.log(elem);
}
}
无论如何,即使直接调用 document.getElementById('2').style.visibility = 'visible'
也不起作用
PS 我想要实现的是显示感叹号上的跨度,对于 css 默认值,隐藏
最佳答案
当您调用 updateHtml
时,元素尚未创建。
为了测试在 1 秒后的超时调用中添加了 updateHtml,它起作用了。
setTimeout(() => updateHTML("8", "visible"), 1000);
关于Javascript 无法显示/隐藏 Dom 元素(在 Pannellum 示例中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49667138/