[英]How do I make display:none to display:block elements not take up its original space in 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
}
由於該元素對於在display:none元素內或在display: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
等)來解決此問題。
只是想一想:但是如果所有style屬性都包含display:none;
但是,您可能需要嘗試: document.getElementById('container').removeAttribute('style');
。 雖然這不是我建議的方式,但也沒有創建您在評論中說過的新元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.