html - 在 IE 6 或 7 中使用 AJAX 加载 HTML 时,处理样式标签的最佳方式是什么?

标签 html css ajax

我们的 AJAX 框架会发回可能包含标记的 HTML 片段。然后我们获取该 HTML 片段并将其设置为元素的 innerHTML。在 IE 6/7 中,它似乎忽略了标签,因此返回的 HTML 样式不正确。

我想知道其他人是否遇到过类似的问题,如果遇到过,他们是如何处理的。我知道我可以使用 javascript 库(我们使用 YUI)来动态获取外部样式表,因此我可以将其转换为外部样式表。只是想知道是否有其他方法可以解决此问题。

最佳答案

当然最好的方法是纯DOM解决方案,即使用document.createElement生成服务器返回的所有元素。

但是,(当然)有一个 IE hack 可以解决 innertHTML 提出的一些问题。不要将响应直接粘贴到 DOM 中,而是首先创建一个元素,附加其 innerHTML,然后将其附加到 DOM。

function responseHandler(response) {
    var div = document.createElement('div');
    div.innertHTML = response.responseText
    document.getElementById('ZE_ELEMENT').appendChild(div);
}

关于html - 在 IE 6 或 7 中使用 AJAX 加载 HTML 时,处理样式标签的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/470768/

相关文章:

javascript - 鼠标悬停在上面的交互式 map

css - Liferay 6.2布局不同大小的行

javascript - 如何在AJAX响应中用新内容替换<td>和<div>的内容?

javascript - 使用 AJAX 将 JavaScript 数组发送到 asp.net MVC Controller

php - 为什么这个 Jquery Ajax 不能在 Opera 和 Safari 中工作?

javascript - 以 Angular 获取元素内容(替代 jQuery 中的 .html())

html - css 表格单元格宽度太大

php - 解析由 html 表单发布的 php 中的数组

javascript - ReactJS 和类名

javascript - jquery ajax 更改类点击数据 id