包含的jQuery在包含的html上不起作用

时间:2018-07-18 12:33:23

标签: jquery html include

在我的项目中,我想对常规HTML部分使用include。但是当我包含HTML文件时,jQuery不再起作用。下面是我的代码示例。在这种情况下,我想在此页面中包含介绍性文字。该警报将起作用,但是当main.js中的代码将其隐藏时,带有类简介文本的范围也将可见。任何想法吗?

HTML页面

<div id="include-introText"></div>

<script src="main.js"></script>

<script type="text/javascript">

  $('#include-introText').load('intro-text.html', function () {
     // nothing
  });

</script>  

intro-text.html

<span class="intro-text">Hello, this is an intro text</span>

main.js

$('span.intro-text').hide();
alert('test')  

1 个答案:

答案 0 :(得分:2)

这是因为“ main.js”在“ intro-text.html”之前加载,这意味着main.js在寻找

$('span.intro-text')

这不返回任何内容,这意味着您没有隐藏任何内容,然后在加载intro-text.html时仅向您显示该跨度。为避免这种情况,必须在加载intro-text.html之后加载main.js。

<div id="include-introText"></div>

<script type="text/javascript">

  $('#include-introText').load('intro-text.html', function () {
     var script = document.createElement('script');
     script.onload = function () {
        //do stuff with the script
     };
     script.src = "main.js";

    document.head.appendChild(script);
  });

</script>  
相关问题