![](/img/trans.png)
[英]jquery displays html response on all div classes instead of only div
[英]javascript jquery response HTML into a div do not retrieve all 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'replace'中:
# <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'>
用</table>
替换最后一个</td>
</table>
您页面中的两个元素不能具有相同的ID
您需要注意html嵌套规则。 <td>
必须在<tr>
内,而<tr>
必须在<table>
(从技术上讲,您需要tbody或thead,但浏览器可以容忍此)。
您应该使用此服务: http : //validator.w3.org/#validate_by_input
在“更多选项”下,选择验证HTML片段并匹配您的文档类型。 您可以使用它来确保HTML有效,然后再尝试将其填充到该div中。
您必须关闭可能要使用的div
</tr>
</div>
</td>
在末尾。 jQuery可能会在之前替换文本
因为它找不到正确的div end语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.