我遇到了同样的问题there,除了在我加载的内容的开头添加了神秘的换行符。
使用Firebug或不同的检查员时,这就是我所拥有的:
<div class="form_item" style="display: block;"><!-- Start of Ajax loaded content -->
<--- ghost line
<div class="view_question">
<div class="view_edit" style="display:none">
<!-- End of Ajax loaded content --></div>
此鬼线在显示内容时会导致换行。 此外,此问题仅发生在我的一个ajax请求中。我实际上是在jquery里面使用它 droppable&amp;排序即可。 如果你发现错误,这是我的代码:
$(".form_container").sortable({
// ...
receive: function(event,ui) {
// ...
$.ajax({
dataType: 'html',
data: '',
type: 'GET',
url: link,
success: function (data){
// ...
$('.form_container').find('.form_item').html(data);
}
});
}
});
我已经通过我的代码来删除文件末尾的空行,但没有任何改变。
我在等你的宝贵答案。谢谢!
---第一次编辑---
link
是一个简单的网址。该URL是一个发回纯HTML的控制器。使用Firebug进行检查时,响应中没有换行符。
---第二次编辑---
我在可排序列表中删除的元素看起来像这样
<div class="form_item"><a href="link">....</a></div>
然后我在JS中获取link
值以执行请求。
我试图改变这一行
$('.form_container').find('.form_item').html(data);
的
$('.form_container').find('.form_item').html('Test');
然后我没问题。如果我尝试调试data
(使用alert(数据)或在Firebug中),HTML是正确的,没有换行符。 :(
答案 0 :(得分:2)
对我来说,它似乎是服务器方面的问题。
可能的调试点:
生成响应的服务器端脚本
如果不确定服务器端脚本
,则修剪数据 $('.form_container').find('.form_item').html(data.trim());
使用CSS忽略父元素上的空格,例如
<div class="form_item" style="display: block;white-space:normal">
希望这会有所帮助
答案 1 :(得分:0)
您是否能够收紧HTML中的空格?
代码中的空格/换行符可以解释为文本节点,并在页面上呈现为空格和/或换行符。
看看是否有效:
<div class="form_item" style="display: block;"><div class="view_question">