0

在我的 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 标签中?

4

2 回答 2

1

您没有将该ladda()函数声明为全局函数-它仅在您要在其中声明它的匿名函数的范围内-因此它超出了其他$(document).ready()事件处理程序的范围。

如果您检查浏览器的开发人员工具,您可能会收到告诉您上述情况的 JavaScript 错误。你可以这样做:

(function($) {
    $(document).ready(function() {
        $("#load_text").click(function() {
            $("#innehåll1").load("innehåll.txt");
            alert('ändrat');
        });
    });
})(jQuery);
于 2012-12-19T16:55:23.943 回答
0

有几件事可能会导致意外行为:

  1. 您可以尝试避免文件名中的特殊字符
  2. ready您应该在函数中可以访问的范围内声明 ladda
  3. 您必须避免form标签中的 jQuery 和所有其他内容中的拼写错误

希望这对你有帮助!

在正确范围内定义函数的代码:

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');
  });
});
于 2012-12-19T17:04:12.360 回答