XHTML可能会阻塞jQuery方法.append?

时间:2014-01-04 19:58:30

标签: jquery html xhtml append prepend

我试图改进我的网站添加将在每个页面中存在的部分并在我更新文件时自动更新:我知道有很多方法,但我仍然是初学者,我决定使用jQuery。问题是我使用<table>,因为我有一个bar div需要在HTML的一侧。我预先添加了标题,表格的开头标记(包括tr和td)及其内容,并附加了标签的结束。 HTML包含了酒吧附近的任何标准:它确实如此!但是它在条形图下:我不确定发生了什么:我的想法是XHTML在附加之前自动关闭标签,因为在HTML中没有找到它们......我将包含我们的代码感兴趣

$(document).ready(function(){
    $('body').prepend('<table><tr><td>Text</td><td>');
    $('body').append('</td></tr></table>');
})

这是jQuery代码,我可以确保你有正确的脚本链接和jQuery(+ UI)工作。现在一切都应该很简单:你只需要在.html文件中添加HTML代码......但是没有!

<html>
   <head>
      <title>Cheese</title>
      <script to my script and jQuery library/>
   </head>
   <body>
      <!-- here should go what I prepended, and it does,
           but closes the <table></td></tr> tags aswell -->
      This should be to the side of 'Text' and comprehended in the table, in a td
      <!-- here should go what I appended,
           but strangely it doesn't -->
   </body>
</html>

我做错了什么吗?如果你没有看到任何错误,我会把所有的代码发给你,谢谢你提前!

1 个答案:

答案 0 :(得分:0)

您不能将标签追加/前置/插入DOM中仅包含完整的html元素。当你传递要插入DOM的html的部分片段时,浏览器(或者jquery)可以用它来做到最好。
你应该做的是建立一个包含所述内容的表格并将其插入到dom

$(document).ready(function(){
    $('body').html('<table><tr><td>Text</td><td>'+$('body').html()+'</td></tr></table>');
})

http://jsfiddle.net/yY92d/