我在HTML页面中包含一个<script>
标记,其中包含HTML片段。我想获取此片段并将其插入页面。片段的位置与页面本身位于同一服务器上,因此没有跨站点问题。
<script id="frag" src="/frag.html" type="text/x-jquery-tmpl"></script>
(顺便说一句,我已经将脚本的类型指定为text / x-jquery-tmpl,因为我一直在尝试使用jQuery模板来访问脚本内容,即使它只是一个HTML文字)。我相信'类型'的价值并不是什么大问题。
我尝试过的一些事情:
// Try inserting frag.html into div hdr
// this attempt, using jQuery templates, doesn't work
$('#frag').tmpl().appendTo('#hdr');
// This is an empty string
var contents = $('#frag').text();
抱歉所有的jQuery,我更不知道如何在没有它的情况下尝试这个。我是一个javascript ignoramus,需要随时保持jQuery的蓬松保护。
答案 0 :(得分:3)
你必须使用“.html()”:
var contents = $('#frag').html();
我个人觉得这很愚蠢,而且“.text()”应该可以工作,但是我记录了一个关于这个问题的bug,jQuery的人拒绝修复它。
另外,“type”属性的值实际上并不是什么大问题,但你肯定需要将它设置为某些东西,而不是(当然)实际的JavaScript类型。< / p>
答案 1 :(得分:2)
或更全面:
$(document).ready(function(){
$('#hdr').append($('#frag').html());
});
或根本没有脚本标签......
<div id='hdr'>
//content
<div id='hdr_add'></div>
</div>
...
$(document).ready(function(){
$('#hdr_add').load('frag.html');
});
.load()是一个简单的AJAX调用,可以很简单地将给定URL中的内容加载到给定元素中。