如何使已从显示:无更改为显示:块的元素在 DOM 中可用
How to make element that has changed from display:none to display:block available in the DOM?
我正在尝试在最初具有display:none属性的元素上应用一些javaScript。例:
<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
}
由于该元素对加载为显示:none 元素的 DOM 不可见,我该如何更改它?
谢谢
元素将 display
属性设置为某物的事实意味着该元素位于 DOM 中。
您可以将一些JS应用于隐藏元素,它们仍然是DOM中加载的元素。
不管
它是否可见。在任何一种情况下都可以访问
切换
可见性的小函数可能是:
functionToggleDiv()
{
var container = document.getElementById('container');
container.style.display = (container.style.display === 'none' ? 'block' : 'none');
}
但是,如果这段代码不适合你,那么 dom 可能没有完全加载,在你与之交互的元素之后插入 JS,或者研究其他方法(window.onload
等)来解决这个问题。
只是一个想法:但是如果所有样式属性都包含display:none;
但是,您可能愿意尝试:document.getElementById('container').removeAttribute('style');
。不过,这不是我的建议,但也不是创建新元素的方式,您在评论中说要这样做。
相关文章:
- javascript来显示元素属性
- 使用JavaScript或jQuery隐藏和显示元素
- 如何在Angular JS中滚动显示元素
- 如何在使用jQuery应用display:none后正确显示元素
- 仅使用Javascript隐藏/显示元素,而不会弄乱DOM
- jQuery单击并显示元素列表
- 键盘没有在Android和BlackBerry中显示元素焦点
- 在CSS转换期间显示元素的大小值
- 当我们关注jQuery时,只显示元素
- 包含方法和突出显示元素的问题
- JS/JQuery隐藏元素,更改文本,显示元素
- 如何显示元素的一部分,并在单击时切换到所有元素
- 在隐藏元素中显示元素
- 当PROTRACTOR元素后面有元素时,我怎么能知道当前的显示元素
- 在mouseover上显示元素在mouseleave上隐藏
- jquery显示元素是否具有类和特定值的内容
- 不能在复选框旁边显示元素
- 动态显示元素上的JavaScript触摸端;不要开火
- 点击JQuery/HTML5显示元素的索引/位置
- AngularJS:如何默认显示元素,并在按下按钮时切换