我的页面有一个标记:
<script id='header' src='/Templates/Shared/Header.tmpl.html' type='text/html'></script>
Firebug告诉我Firefox 5正在请求此资源。在HTML选项卡上,我可以导航到script元素并看到它包含/Template/Shared/Header.tmpl.html的内容。
然而,jQuery坚持脚本标记为空。 $('#header')。html()返回一个空字符串。我不明白为什么。是的,我可以使用$ .get()加载文件并使用$('#header')。html(data)来设置内容。然后我可以按照我的预期使用它。这显然会产生第二个请求,我想避免。
答案 0 :(得分:1)
这是一个老问题,但仍存在于Firefox中。我使用了一种解决方法:
function getHtml(selector) {
var $element = $(selector);
var html = $element.html();
if (!html ) {
// copy all the children elements to a dummy DIV, which, unlike the SCRIPT have no problem providing the html in Firefox
html= $('<div />').append($element.children().clone()).html();
}
return html;
}