在我的项目中,我想对常规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')
答案 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>