【发布时间】:2012-09-05 12:11:44
【问题描述】:
我已经检查了有关 AJAX 未加载样式的其他类似问题的答案。没有一个解决方案对我有用。
在 AJAX 调用中,我正在将另一个 AJAX 调用加载到页面上的元素中:
$.ajax({
url: site_url+'/ajax/int_rooms'
}).done(function (data) {
$('.rooms-sides').append(data);
});
我也试过$('.rooms-sides').load(site_url+'/ajax/int_rooms');
当我将 HTML 手动放入页面时,它的样式和外观都符合预期。 当我把它粘贴到 AJAX 中(加载成功)时,它的格式不再正确。
控制台中没有错误。我正在使用 Chrome(Firefox 中的结果相同)。
如果我“检查元素”,则加载的文件似乎丢失了 <tr> 之类的表标签,但是当我在 chrome 开发人员工具中查看网络选项卡的响应时,我确实看到了正在返回的表标签。
我再说一遍,当我在插入所有内容的主文件中使用相同的 html 时,它可以完美运行。
这个 HTML 被放入一个输出的 php 变量中,这就是你看到 $r->name 的原因。 我试过把它放在 HTML 中,而不是在文件中的 php 输出中,它会产生完全相同的错误。
有问题的 HTML:
<input type='hidden' id='room_name' value='$r->name'/>
<tr>
<td class="action"><a href="#" title="Delete"><span class="delete">Delete</span></td>
<td class="action"><a href="#" title="Duplicate"><span class="duplicate">Duplicate</span></td>
<td><a href="#" title="Configure">Configure</td>
<td>
<div class="ui-widget">
<select id="combobox">
<option value="">Select one...</option>
<option value="Kitchen">Kitchen</option>
<option value="Bedroom">Bedroom</option>
<option value="Living Room">Living Room</option>
<option value="Dining Room">Dining Room</option>
<option value="Hallway">Hallway</option>
</select>
</div>
</td>
<td>$364.14</td>
</tr>
<script type="text/javascript">
$("#room_name").remove();
</script>
【问题讨论】:
-
我没有看到
<table>元素? -
<table>元素已经在主页中,它已经插入到<table>中