jquery 页脚中的内联脚本导致问题

b1payxdu  于 2023-06-29  发布在  jQuery
关注(0)|答案(1)|浏览(100)

我构建了header.html和footer.html,并使用 AJAX 将它们附加到html页面中。

$(function(){     
    $.ajax({  
      type: "GET",
      url: "header.html",  
      dataType: "html",
      success: function(header) {  
        $("body #header").append(header);  
      },
      error: function(){
        alert("failed call header");
      } 
    }); 
    return false;  
});
$(function(){     
    $.ajax({  
      type: "GET",
      url: "footer.html",  
      dataType: "html",
      success: function(footer) {  
        $("body #footer").append(footer);  
      },
      error: function(){
        alert("failed call footer");
      } 
    }); 
    return false;  
});

页眉如预期的那样被追加,但是页脚不起作用,因为它有一个内联脚本。
首先,页面加载后,所有元素都消失了,页面上只显示“2023”。页脚的样式和其他样式也没有显示。
然后,我删除了// document.write(new Date().getFullYear());页面中的所有内容都显示出来了,但是页脚中的年份没有显示!

<div class="footer">
<div class="mainFrame">
  <div class="footerTxt">&copy;
      <script type="text/javascript">
        document.write(new Date().getFullYear()); 
      </script>

,. All rights reserved. 
    </div>
 </div>

然后我添加@(document).ready,但它也不起作用!

<div class="grayFooter">
<div class="mainFrame">
  <div class="footerText">&copy;
      <script type="text/javascript">
        $(document).ready( function() 
        {
        document.write(new Date().getFullYear()); 
        })
      </script>

,. All rights reserved. 
    </div>
 </div>

请看一下,感谢您的帮助。谢谢!

lf3rwulv

lf3rwulv1#

考虑避免使用document.write()。另一种方法是通过insertAdjacentText()<script>元素本身旁边插入年份:

<script type="text/javascript" id="year">
  document
    .getElementById('year')
    .insertAdjacentText('beforebegin', new Date().getFullYear());
</script>

Working example on StackBlitz

相关问题