我已经检查了关于 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 中的结果相同)。如果我“检查元素”,加载的文件似乎是 LOSING 表标签<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>