JQuery追加不起作用?

时间:2011-09-05 14:42:28

标签: php javascript jquery append

我有一个用Smarty编译的PHP模板。在这段代码中,我嵌入了div部分,类似于:

 <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调用的web服务...我想把我收到的一些数据放在tbody LBBody中,但是当我尝试使用jquery的追加时,没有附加任何内容。

这样做:

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

我是否误用了追加?

谢谢和最诚挚的问候。

4 个答案:

答案 0 :(得分:2)

尝试将您的追加代码包含在$(document).ready()块中,如下所示

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

答案 1 :(得分:1)

请务必在实际元素之后添加附加代码。否则它将无法正常工作

答案 2 :(得分:0)

您是否尝试检查DOM以查看元素是否被追加?我有一种感觉,即height参数中的style属性可能会将您的新元素设置为以0高度显示。

要解决这个问题,你应该告知相应的值加上统一:

style="height:22px;"

答案 3 :(得分:-1)

PHP和Javascript(或JQuery)不能一起工作。如果您尝试一起使用它们,整个Javascript都会停止运行。因此,避免这种情况的最佳方法是使用PHP使用JQuery AFTER。完成PHP代码后,以“?&gt;”结束它标记然后使用JQuery而不使用PHP的echo或print语句。

这是错误的代码,javascript将不起作用:

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

这是正确的实施:

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

希望这有帮助!