2011-09-05 130 views
0

我有一個用Smarty編譯的PHP模板。在這段代碼中我已經嵌入DIV部分,與此類似:JQuery追加不工作?

<div> 
<div id="services" style="margin-top: 5px; width: 100%; display:none;"> 
<div id='blocking' style="float: left; width: 100%;"> 
    <div id="div1" ...> 
    </div> 

    <div id="div2" style="float: left; height:100px; width: 100%; margin-top: 4px; margin-bottom:4px;"> 
    <table id="list" width="100%"> 
    <thead> 
    <tr> 
     <th width="30%" class="tablaIzq">Lists</th> 
     <th width="70%" class="tablaIzq">Description</th> 
    </tr> 
    </thead> 
    <tbody id="LBBody">     
    </tbody> 
    </table> 
    </div> 
</div> 
</div> 
</div> 

使用AJAX + JSON稱爲一個WebService ES ...我希望把一些數據,我收到的TBODY LBBody但是當我嘗試使用jquery的追加沒有附加。

它的完成這樣的:

$("#LBBody").append('<tr><td class="tablaIzq" style="font-weight: normal; height: 22;" colspan="3">Hi</td></tr>') 

我使用追加錯?

感謝和問候。

+0

您是否在DOM就緒狀態下調用append()? 即在$(function(){[...]});'? 否則當你調用append() – HBublitz

回答

1

確保你在你的實際元素後面加上你的追加代碼。否則它不會工作

2

嘗試,包括在$(document).ready()塊這樣

$(document).ready(function() { 
    $("#LBBody").append('<tr><td class="tablaIzq" style="font-weight: normal; height: 22;" colspan="3">Hi</td></tr>'); 
}); 
+0

追加發生在ajax調用 – numbers1311407

+0

@marcioAlmada是的,我認爲我們需要看到'$ .ajax()函數可能不存在你想追加節點的元素可能不存在。 '塊。 –

0

你tryed檢查你的DOM,看是否元素被追加或不追加你的代碼?我有一種感覺,參數中的height屬性可能會將您的新元素設置爲0高度顯示。

爲了解決這個問題,你應該通知相應的值加上統一:

style="height:22px;"

-1

PHP和JavaScript(或JQuery的)不一起工作。如果您嘗試將它們一起使用,整個Javascript將停止運行。因此,避免這種情況的最好方法是使用JQuery AFTER使用PHP。完成PHP代碼後,使用「?>」標記結束,然後使用JQuery,而不使用PHP的echo或print語句。

這是錯誤的代碼和JavaScript將無法在這方面的工作:

<?php 
echo '<script type="javascript/text">...</script>'; 
?> 

這是正確的實現:

<?php 
echo '...'; 
?> 
<script type="javasrcipt/text">...</script> 

希望這有助於!