1

我正在尝试在最初具有 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
}

由于该元素对于作为 display:none 元素加载或在其中加载的 DOM 不可见,我该如何更改它?

谢谢

4

3 回答 3

4

元素具有display属性设置的事实意味着该元素在 DOM 中。

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

于 2012-06-05T10:42:51.263 回答
2

不管它是否可见。在任何一种情况下都可以访问

于 2012-06-05T10:46:02.850 回答
0

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

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');。这不是我建议的方式,但也不是创建一个新元素,你在评论中说要这样做。

于 2012-06-05T10:59:39.453 回答