Javascript 如何使已从display:none更改为display:block的元素在DOM中可用?

Javascript 如何使已从display:none更改为display:block的元素在DOM中可用?,javascript,css,dom,Javascript,Css,Dom,我试图在一个元素上应用一些javaScript,该元素最初具有display:none属性。例如: <input type="button" onclick="document.getElementById('container').style.display='block';"> <div style="display:none;" id="container"> <input type="text" name="somename" id="somename"

我试图在一个元素上应用一些javaScript,该元素最初具有display:none属性。例如:

<input type="button" onclick="document.getElementById('container').style.display='block';">

<div style="display:none;" id="container">
<input type="text" name="somename" id="somename" onclick="applySomeJsToTextField();">
</div>

function applySomeJsToTextField() {
//js code here
}
由于元素对于加载为display:none元素的DOM或在display:none元素中不可见,我如何更改它


感谢

元素的display属性设置为something,这意味着该元素位于DOM中


您可以将一些JS应用于隐藏元素,它们仍然是加载在DOM中的元素。

元素的display属性设置为某物这一事实意味着元素在DOM中


您可以将一些JS应用于隐藏元素,它们仍然是加载在DOM中的元素。

不管它是否可见都无所谓。在任何情况下都可以访问它

无论它是否可见都无关紧要。在任何一种情况下都可以访问它

切换可见性的小功能可能是:

functionToggleDiv()
{
    var container = document.getElementById('container');
    container.style.display = (container.style.display === 'none' ? 'block' : 'none');
}
但是,如果这段代码不适合您,那么可能dom没有完全加载,在与您交互的元素之后插入JS,或者查看其他方法window.onload等来解决这个问题


只是想一想:但是如果style属性包含的所有内容都是display:none;但是,您可能想试试:document.getElementById'container.removeAttribute'style';。这不是我建议的方式,但也不是创建一个新元素,你在评论中说正在这样做

切换可见性的小功能可能是:

functionToggleDiv()
{
    var container = document.getElementById('container');
    container.style.display = (container.style.display === 'none' ? 'block' : 'none');
}
但是,如果这段代码不适合您,那么可能dom没有完全加载,在与您交互的元素之后插入JS,或者查看其他方法window.onload等来解决这个问题


只是想一想:但是如果style属性包含的所有内容都是display:none;但是,您可能想试试:document.getElementById'container.removeAttribute'style';。这不是我建议的方式,但也不是创建一个新元素,你在评论中说正在这样做

编辑:我找到了一种处理document.createElement的方法,但有没有更简单或更直接的方法?是什么让您相信该元素不在DOM中?应该是的。原来我的印象是错误的。。。该死:编辑:我找到了一种处理document.createElement的方法,但是有没有更简单或更直接的方法?是什么让你相信元素不在DOM中?应该是的。原来我的印象是错误的。。。该死:我总是觉得display:none的元素对DOM是不可见的。真是个混蛋!但我确实记得以前有过这样的问题。我想可能还有其他原因,我误解了问题的原因。我总是觉得有display:none的元素对DOM是不可见的。真是个混蛋!但我确实记得以前有过这样的问题。我想还有别的原因,我误解了问题的原因。