繁体   English   中英

javascript jQuery响应HTML到div中不会检索所有HTML

[英]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>

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

您页面中的两个元素不能具有相同的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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM