我正在使用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 语句。