簡體   English   中英

如何在DOM中使從display:none變為display:block的元素可用?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM