簡體   English   中英

jQuery .prepend到不存在的元素-是JS錯誤嗎?

[英]jQuery .prepend to non-existent element - is it a JS bug?

在父元素添加到DOM之后,我想在頁面上的元素之前添加表單。 當我准備得太早時,即父元素不存在,我就會感到奇怪。

jQuery(".myDiv").prepend('<div id="myForm">Content</div>');

如果我在使用jQuery甚至是JS之后檢查prepent元素的存在,例如:

var res = document.getElementById("myForm")
console.log(res);

我在控制台中獲得了prepend元素。 但是,如果父元素尚不存在,則頁面上不會出現任何前置元素,並且如果一秒鍾后我檢查同一元素:

setTimeout(function() {
    var res = document.getElementById("myForm")
    console.log(res);
}, 1000);

然后我得到

當父元素最終添加到頁面中后,我的前置元素不會消失。

因此,看起來像我先添加的東西先被添加到DOM中,然后在發現父元素不存在后被DOM拒絕。 但這是正常行為嗎?

效果很好。

 // When div is present jQuery(".myDiv").prepend('<div id="myForm">Content</div>'); var res = document.getElementById("myForm") console.log('mydiv:',res); setTimeout(function() { var res = document.getElementById("myForm") console.log('mydiv:',res); }, 1000); // When div is not present jQuery(".noDiv").prepend('<div id="noForm">Content</div>'); var res = document.getElementById("noForm") console.log('noForm:',res); setTimeout(function() { var res = document.getElementById("noForm") console.log('noForm:',res); }, 1000); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="myDiv"></div> 

我認為您是在添加項目后刪除該項目。 這是一個假設

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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