2013-03-05 24 views
0

我見過類似的帖子,但沒有什麼幫助了我100%上飛火可以創建div兩次

我需要身體的第一個元素之前插入這些div,在飛行時,一個特定的js文件是加載到頁面中。我想在加載腳本時觸發它,然後在現有的第一個子元素前添加兩個div。

$('<div id="DIV1"><div id="DIV2"></div></div>').prependTo('body:first').index(); 

我可以在沒有附加功能的.js文件中使用上面的代碼,它可以工作,但會觸發兩次。我已經嘗試了多種方法來做到這一點,但幾乎所有我嘗試觸發兩次,所以我得到兩個div而不是1.

任何人都可以指導我以更好的方式做到這一點嗎?

感謝

+6

''體:first''您的網頁是否有2'body'元素?如果你認爲這是一種優化,你就錯了,因爲Sizzle只是自己優化「body」。 – alex 2013-03-05 23:16:01

+1

你可以發佈一些你的html嗎?我沒有看到你的jQuery代碼有任何問題,它在我的快速[jsfiddle測試]中工作正常。(http://jsfiddle.net/uptownnickbrown/5wQda/) – uptownnickbrown 2013-03-05 23:22:33

回答

0

你可以用 「原始」 的javascript:

var firstBody = document.querySelectorAll.apply(document,['body'])[0]; 
var div1 = document.createElement('div'), div2 = document.createElement('div'); 
div1.innerText = 'DIV #1'; 
div2.innerText = 'DIV #2'; 
firstBody.appendChild(div1); 
div1.appendChild(div2); 

希望這有助於