在我的html标题中,我有
<head>
<script src="jquary.js"></script>
<script>
$(document).ready(function(){
ladda();
});
</script>
</head>
我加载jQuery
在我身上
<form namne="load"
<fieldset>
<legend> load</legend>
<table>
<tr>
<td><div id="innehåll1">vill du ändra denna text</div></td>
</tr>
</table>
<button id="load_text">ändra</button>
</fieldset>
在我写的Javascript中
(function($){
ladda = function() {
$("#load_text").click(function(){
$("#innehåll1").load("innehåll.txt");
alert('ändrat');
});
};
})(jQuery);
我在同一文件夹中有一个名为innehåll.txt的外部txt文件,其中包含:
<h2>fkdösfkds</h2>
<p>jfksfksdalö</p>
我的问题是,为什么txt文件的内容没有加载到div标签中?
答案 0 :(得分:1)
您没有将ladda()
函数声明为全局函数 - 它只在您在其中声明它的匿名函数的范围内 - 因此它超出了您的其他$(document).ready()
事件的范围处理程序。
如果您查看浏览器的开发者工具,则可能会出现JavaScript错误,告诉您上述情况。你可以这样做:
(function($) {
$(document).ready(function() {
$("#load_text").click(function() {
$("#innehåll1").load("innehåll.txt");
alert('ändrat');
});
});
})(jQuery);
答案 1 :(得分:0)
有一些可能导致意外行为的事情:
ready
函数form
标记和其他所有内容中的拼写错误希望这能帮到你!
用于在正确范围内定义函数的代码:
function ladda() {
$("#load_text").click(function(){
$("#innehåll1").load("innehåll.txt");
alert('ändrat');
});
}
你也可以直接在准备好的身上做到:
$(document).ready(function() {
$("#load_text").click(function() {
$("#innehåll1").load("innehåll.txt");
alert('ändrat');
});
});