2012-01-20 132 views
0

我試圖追加tp-lightboxactitemtp-lightboxcontainer。任何人都可以幫助我解決這個問題。它不工作,我希望lightbox的活動項目進入tp-lightboxcontainertp-lightboxactitem來它的中心。追加不工作在jQuery

$('body').append('<div id="tp-lightboxcontainer" class="'+opt.style+' lightboxitem"></div>'); 
     var tp-lightboxcontainer=find('#tp-lightboxcontainer'); 
     tp-lightboxcontainer.append('<div id="tp-lightboxactitem" class="'+opt.style+' lightboxitem"></div>'); 
+0

您的代碼將不能運行,因爲它的語法錯誤,這不是jQuery的追加。 'var tp-lightboxcontainer'應該是類似於'var tp_lightboxcontainer' – Esailija

回答

1
$('<div id="tp-lightboxcontainer" class="'+opt.style+' lightboxitem"></div>') 
    .appendTo('body') 
    .append('<div id="tp-lightboxactitem" class="'+opt.style+' lightboxitem"></div>'); 

你真的只有一個對象在這裏工作,所以你可以在一行中做到這一點。 jsFiddle

  1. 使容器(目標容器)
  2. 追加到<body>(還是目標容器)
  3. 附加您的項目到容器(還是目標容器)

PS:如果你想用這個容器來獲得更多的東西,你可以在它前面放置var whatever =來緩存它。

+0

你能告訴我什麼時候tp-lightboxcontainer沒有任何css改變 –

0

是的。代碼在語法上不正確,正如Esailija所說。我有以下工作和正確的代碼: 完成的更改:

  1. 選擇需要在之前正確定義。
  2. 變量名稱不應該有' - ',但可以有'_',而不像Esailija所說的那樣。
  3. 查找操作在該代碼中被錯誤地完成。
var opt=""; 

// op can be whatever defined before in the code. 
$('body').append('<div id="tp-lightboxcontainer" class="myClass" lightboxitem"></div>'); 

//Find updated. 

var tp_lightboxcontainer=$("body").find('#tplightboxcontainer'); 

tp_lightboxcontainer.append('<div id="tp-lightboxactitem" class="'+opt.style+' lightboxitem"></div>');