javascript jquery 响应 HTML 成一个 div 不会检索所有 HTML



我正在使用jquery进行Ajax调用,并将内容放入div中,如下所示:

$('#replace').html(response);

但它并没有取代我从"响应"中获得的所有内容。

当我这样做时:

alert(response)

我看到所有的HTML代码都没有问题。

但是当我这样做时:

$('#replace').html(response);

它不会从响应中放入所有 HTML 代码。

当我发出警报时

alert(response);

我得到了这个(这是正确的(:

#
    <div id='replace'>      
            <tr onclick='javascripot:gravaJOBparaView(5746);' ondblclick='fnOpen(5746);' >
                      <td class='preview' title='8746' >8746</td>
                      <td>XXXX</td>
                      <td>xxxxx</td>
                      <td>xxxx</td>
                      <td>xxx</td>
                  <td>xxxxx</td>
                  <td title='xpto'>XXXXXX</td>
                  <td></td>
                  <td> <br/>18:00</td>
                  <td>22/07/2012</td>
                  <td title='Check XXXXX' class='popups' ><a href='#popup_5746'><img src='xpto.png'  alt='Check XXXXXX' width='40px'></a></td>
        </tr>   
  </td>

#

但是当我这样做时:

$('#replace').html(response);

它将此代码放在div "替换"中:

#
   <div id="replace">       
                  8746
                  XXX
                  XXXX
                  XXXX
                  XXXXX
                  XXXXX
                  RXXXXXX
                   <br>18:00
                  22/07/2012
                  <a href="#popup_5746"><img width="40px" alt="Check XXXXX" src="xxxxxx.png.png"></a>
  </div>
#

如您所见,由于某种原因,它不会从响应中放置所有标签。

我该怎么办?

您的 HTML 无效。 <tr>必须位于表标记中。取代

<div id='replace'>

<table id='replace'>

将最后一个</td>替换为</table>

http://jsfiddle.net/wk4eD/1/

网页中的两个元素不得具有相同的 ID

你需要注意html嵌套规则。 <td>必须位于<tr>内,而必须在<table>内(从技术上讲,您需要一个 tbody 或 thead,但浏览器可以容忍这一点(。

您应该使用此服务:http://validator.w3.org/#validate_by_input

在"更多选项"下,选择验证 HTML 片段并匹配您的文档类型。 您可以使用它来确保 HTML 有效,然后再尝试将其填充到该div 中。

你必须关闭你可能想要使用的div

 </tr> 
  </div>  
  </td>

在最后。JQuery 可能会替换之前的文本
,因为它找不到正确的div end 语句。

最新更新