我的網頁上有一個標題欄,它向用戶設置了一條消息。標題是由javascript動態創建的。我希望內容在沒有任何明顯延遲的情況下出現在UL不包含任何LI的頁面中,然後突然將其填充。這可能嗎?我想使用什麼javascript DOM加載事件?在頁面加載之前,Javascript/jQuery將HTML附加到UL元素
1
A
回答
3
您通常需要等待文檔加載(document.ready
這些天)的原因是,該元素存在於DOM中,因此您可以選擇它。如果您需要修改的元素已經存在於頁面中,則不需要等待。
下面的例子不會工作
<script>
var foo = document.getElementById('foo');
...do more stuff with foo...
</script>
<div id="foo"></div>
它不會工作,因爲當執行
以下示例腳本中的DOM沒有加載div#foo
將工作
<div id="foo"></div>
<script>
var foo = document.getElementById('foo');
...do more stuff with foo...
</script>
它的工作原理是因爲div#foo
公頃已經被解析並且元素存在。
沒有什麼特別的事件可以用JavaScript監聽跨瀏覽器節點的創建。但是,如果您的腳本可以在之後放置,則該元素已創建,您可以立即使用該元素。
1
一般來說,當你想讓某些東西看起來流暢時,即使建造一些不平滑的東西,你所做的只是隱藏一切,直到它準備好。
換句話說,如果你這樣做:
<ul style="display:none"></ul>
再加入一些JavaScript添加LIS,然後顯示UL,你應該有你想要的效果。添加LI的JS可以在UL之後的任何地方,或者任何之前的任何位置,如果您將邏輯放入onReady或onLoad處理程序中。
下面是一個簡單的jQuery例如:
<ul id="myList" style="display:none"></ul>
<script>
for (var i = 0; i < 5; i++) {
$("#myList").append("<li>" + i + "</li>");
}
$("#myList").show();
</script>
即。啓動UL隱藏,添加東西,然後顯示它。希望有所幫助。
相關問題
- 1. 如何在頁面加載之前隱藏HTML元素
- 2. 在頁面加載之前使用PHP附加到URL
- 3. 如何在頁面加載到rails之前隱藏元素?
- 4. 將圖像加載到附加元素
- 5. 在頁面加載之前JSP包含頁眉元素隱藏
- 6. Rails 3.1在加載頁面之前加載腳本。如何將函數綁定到頁面元素?
- 7. 元素之前添加鏈接ul
- 8. Cordova:在html元素加載之前加載Javascript
- 9. PHP DomDocument,將頁面的元素附加到另一個頁面
- 10. 使用PHP將HTML元素添加到當前頁面
- 11. 如何在獲取元素之前等待頁面加載?
- 12. 將HTML元素附加到文檔
- 13. 在加載頁面的所有元素之前加載Chrome擴展程序
- 14. 將HTML加載到頁面元素(擴展名爲Chrome)
- 15. 在PHP解析同一頁面上的XML文件之前加載HTML元素
- 16. 在頁面加載之前隱藏HTML元素的正確方法是什麼?
- 17. 如何在加載父頁面之前加載子頁面?
- 18. 在將其附加到AngularJS中的DOM之前預處理每個HTML元素
- 19. 使用JavaScript在頁面加載時將屬性添加到html元素?
- 20. 附加到附加元素
- 21. 哪些元素將首先在html頁面中加載?
- 22. 將問題附加到ul
- 23. 將元素附加到DOM之前排版MathJax
- 24. 如何在頁面完全加載之前將jQuery效果應用於元素?
- 25. 將元素附加到元素
- 26. 將元素附加到克隆元素
- 27. 加載後將jQuery Mobile元素添加到頁面中?
- 28. HTML/CSS/JS:在將元素的大小附加到DOM樹之前是否可以找到元素的大小?
- 29. 硒 - 陳舊的元素參考:元素不附加到頁面
- 30. 附加HTML元素在PHP頁面鏈接價值
謝謝!這產生了預期的效果。 :) –