2015-05-19 62 views
0
var len1 = $("div").length 
// can a new div inserted here? 
var len2 = $("div").length 
console.log(len1 === len2) // always true? 

一些流氓腳本可能在jQuery調用之間插入新的div嗎?Javascript競速狀態?

+0

你想插入'div'元素? –

+1

只要這兩個'長度'調用都發生在同一個函數中:否。 JS是單線程的(大部分),所以沒有其他函數可以在其間插入另一個div。 – Sirko

+0

這可能是你感興趣的:http://stackoverflow.com/a/8996894/551093 –

回答

2

簡短的回答:第

較長的答案:你似乎並不在你的代碼中使用alertconfirm,因此,在Firefox中的幾個奇怪的邊緣情況下(這可能只是舊版本)有關alertconfirm不起作用。 This answer from 2010進入這些細節。

但是,除上述之外,訪問DOM的JavaScript代碼不能在代碼中的一個語句和另一個語句之間運行。瀏覽器通過單個 UI線程(以及零個或多個web工作線程,但web工作線程無法訪問DOM)運行JavaScript。