将外部文件追加到头部

时间:2017-07-27 00:21:51

标签: javascript jquery

我正在尝试将文件加载到头部......但也要保留当前的文件。

目前......文件加载到头部,但在删除之前删除了标题。

如何将标题保留在头部并同时加载文件。

$('head').load('../../external_file.html');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<head>
  <title>Home</title>
  <!-- External File goes here -->
  <!-- I want the title to stay -->
</head>

3 个答案:

答案 0 :(得分:1)

使用$.get()代替$.load()这将返回文件的内容,您可以从那里将内容添加到元素的末尾。

以下是一个粗略的例子:

$.get('../../external_file.html', function(response) {
        $('head').append(response);
});

答案 1 :(得分:1)

我不确定您为什么要尝试在头部插入HTML文件,但无论如何都要尝试。

  1. 将你的jquery.min.js放在页脚或html底部而不是头部上方。
  2. 你可以通过ajax做到这一点(我假设你试图吐出外部html文件中的html元素)。

    (function(){ $.ajax({ url : "../../external_file.html", type: "GET", dataType: "html", success : function (data) { $(data).appendTo('head'); } }); })(); 这将生成一个ajax请求并返回你的html文件的内容 并附在你的头上。

  3. enter image description here

    enter image description here

    <强>:更新:

    好的,请按照:

    1. 你的所有脚本远离头部(标准)把它放在你的html文件旁边。
    2. 从.ajaxComplete中取走我的代码(无论如何你都不需要它ajaxComplete);
    3. 将$('。click_explore')。click()放入我的代码中的成功函数内。因为导致循环的当前结构。

          (function(){
          $.ajax({
              url : "../../external_file.html",
              type: "GET",
              dataType: "html",
              success : function (data) {
                  $(data).appendTo('head');
                  $(".click_explore").click(function() {
                      $('body').animate({
                          scrollTop: $(".scroll_to_me").offset().top - 100
                      }, 500);
                      return false;
                  });
      
              }
          });
      })();
      
    4. 我希望这有帮助。

答案 2 :(得分:0)

我认为load是完全替换html内容的快捷方式,因此如果您想保留标题,则需要使用更多行。

您可以跟踪标题并在加载后将其添加回来:

var title = $('head title').text();
$('head').load('../../external_file.html');
$('head').prepend('<title>' + title + '</title>');

或者你可以将新内容附加到那里。

$.get('../../external_file.html', function(data) {
    // add error handling
    $('head').append(data);
});