如何获取非javascript的内容';脚本';?

如何获取非javascript的内容';脚本';?,javascript,jquery,jquery-templates,Javascript,Jquery,Jquery Templates,我在我的HTML页面中包含了一个标记,其中包含一段HTML。我想得到这个片段并将其插入页面。片段的位置与页面本身位于同一服务器上,因此不存在跨站点问题 <script id="frag" src="/frag.html" type="text/x-jquery-tmpl"></script> 对于所有的jQuery,我感到抱歉,我甚至不知道在没有它的情况下如何尝试。我是一个javascript无知者,任何时候都需要jQuery的保护。您必须使用“.html()”: 我个

我在我的HTML页面中包含了一个
标记,其中包含一段HTML。我想得到这个片段并将其插入页面。片段的位置与页面本身位于同一服务器上,因此不存在跨站点问题

<script id="frag" src="/frag.html" type="text/x-jquery-tmpl"></script>
对于所有的jQuery,我感到抱歉,我甚至不知道在没有它的情况下如何尝试。我是一个javascript无知者,任何时候都需要jQuery的保护。

您必须使用“.html()”:

我个人认为这很愚蠢,“.text()”应该可以工作,但我在这个问题上记录了一个bug,jQuery的人拒绝修复它

此外,“type”属性的值实际上不是什么大问题,但您肯定需要将其设置为某物,而不是(当然)实际的JavaScript类型。

或者更全面地说:

$(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');
    });

//内容
...
$(文档).ready(函数(){
$('hdr#u add').load('frag.html');
});

快捷方式AJAX调用真的很好,只需将内容从给定URL加载到给定元素中。

出于好奇,为什么要在脚本标记中插入html,而不是(例如)display none div?我只是想知道为什么要这样做?将其放入html文件并检索该文件或页面上的元素不是更容易吗?好奇你为什么要这样做,仅此而已…@Andre-它在另一个文件中,所以没有嵌入到页面中。@mcos-问得好!在一个需要在客户机上生成html页面的任何动态方面(无服务器端模板)的系统中,我试图找出许多html页面所共有的标记。如果我有服务器端脚本,我可以直接在页面中生成html部分。那可能像泥浆一样清澈:)哼,好吧。。。所以你需要把它和页面一起加载?这就是为什么您不使用,例如$.get('other_page.html')?本机
innerText
textContent
属性不起作用吗?@Tomalak“innerText”在IE中不起作用,原因是在
标记上..html()似乎只在脚本标记是内联的情况下对我起作用,而不是使用src属性指向内容。啊。。。好吧,那完全是另一回事了。在这种情况下,我只需要使用“$.get()”或其他东西获取代码。可能是。load是简单的解决方案。我希望把它放在一个标签里,可以确保它以某种方式“更早”被下载,从而减少“构建”页面的外观。但那纯粹是我的猜测。嗯,好吧。我试过了,我看不到使用load插入片段的视觉效果。这将教会我去推测。
$(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');
    });