我有一个名为loader.js
的Javascript文件,其中包含一个名为initialize()
的函数。我想通过jQuery调用这个函数。这是我的HTML文件:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="loader.js" ></script>
<script type="text/javascript">
jQuery(document).ready(function() {
jQuery(document).on("click", ".link", function(e) {
e.preventDefault();
var a= $(this).text();
window.initialize= function{
};
initialize(a);
});
});
</script>
</head>
<body >
<h1>welcome to my website </h1>
<a href="#" class="link"> link1 </a>
<a href="#" class="link"> link2 </a>
<div id="main">
</div>
</body>
</html>
&#13;
这是loader.js:
function initialize(a) {
$('#main').html= a;
}
我不知道这个脚本有什么问题,我已经调试了jquery工作正常但功能无法正常工作。
我也希望每当再次点击该功能时,div应该刷新,例如首先它包含link1但是当点击link2时,应该在div中删除link1我该怎样才能完成这个任务????
提前致谢
答案 0 :(得分:1)
您没有包含加载程序脚本。在jQuery代码之前添加<script src='loader.js'></script>
。
loader.js中的代码应该在jQuery(document).ready回调中,因为它现在使用jquery(html方法)。
同样,@jiihoo指出你应该使用$('#main').html(a);
代替$('#main').html = a;
。
答案 1 :(得分:0)
您应该将loader.js的代码更改为此。
function initialize(a) {
$('#main').html(a);
}
你可以做的全部事情。
HTML
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"> </script>
<script src="loader.js"></script>
</head>
<body >
<h1>welcome to my website </h1>
<a href="#" class="link"> link1 </a>
<a href="#" class="link"> link2 </a>
<div id="main"></div>
</body>
</html>
Loader.js
jQuery(document).ready(function() {
jQuery(document).on("click", ".link", function(e) {
e.preventDefault();
var a = $(this).text();
initialize(a);
});
});
function initialize(a) {
$('#main').html(a);
}