2012-06-25 117 views
0

我有一些內容如下:如何將元素添加到包含某些元素(jQuery)的div的第一行?

<div id="shareswrapper"> 
    <div id="41"> 
      some content blah blah blah... 
    </div> 
</div> 

我需要添加讓說了下面的div shareswrapper

<div id="1751"> 
      Some new content here!!!! 
    </div> 

輸出將如下:

<div id="shareswrapper"> 
    <div id="1751"> 
      Some new content here!!!! 
    </div> 
    <div id="41"> 
      some content blah blah blah... 
    </div> 
</div> 

我用第一個孩子但沒有成功。 .before()方法不會爲我工作,因爲我不知道我在sharewrapper裏面有哪些div。
有什麼建議嗎?

+0

無法使用HTML5之前的數字開始ID並且不受支持。 – Ohgodwhy

+0

你可能會考慮使用一個自定義的數據ID或類似的東西.. – Luceos

+2

建立一點什麼Ohgodwhy說:也許更重要的是,以數字開頭的'id'值在CSS中是無效的(http://www.w3 .org/TR/CSS21/syndata.html#value-def-identifier),即使它們在HTML5中有效並且在HTML4中可以被容忍(雖然無效)。由於jQuery在與元素進行交互時使用CSS選擇器,因此最好堅持CSS的規則。 jQuery將嘗試使用'querySelector'和'querySelectorAll',但是當它們失敗時(並且在標準瀏覽器上,它們將使用包含全數字ID的選擇器),它必須回退到它自己的搜索代碼。 –

回答

6

使用前置..

$('#shareswrapper').prepend('<div id="1751">Some new content here!!!!</div>'); 
+0

@Luceos我不這麼認爲。 –

+0

啊哈,錯誤然後..投票。 – Luceos

0

你是正確的軌道上都。將它們鏈接在一起

$('#shareswrapper:first-child').before("injection content") 
+1

這是不必要的迂迴。如果容器是空的,那麼'prepend'將會起作用(授予OP沒有顯示空容器)也會失敗。 –

+1

-1這不起作用。如果它是其父項的第一個子項,它將在主容器('#sharescontainer')之前注入。 [的jsfiddle](http://jsfiddle.net/bazmegakapa/3gTgP/)。誰高舉這個? – kapa

+0

@bažmegakapaouch yuo是正確的。我非常懊惱。 – SuperMykEl

相關問題