具有来自外部JQuery文件的警报框的功能不起作用

时间:2014-10-15 02:17:52

标签: javascript jquery html

这是我的HTML摘录:

<html>
  <head>

    <script type="text/javascript" src="jquery.js">
</script>
    <script type="text/javascript" src="alert_box.js">
</script>
    <title></title>
  </head>
  <body>

  <input type="button" id="name" value="click" >

  </body>
</html>

这里是我的alert_box.js中的内容

$('#name').click(function(){
 alert('alert box working');
}); 

导入JQuery和alert_box.js

3 个答案:

答案 0 :(得分:0)

当你调用它时,DOM还没有准备好,因此没有你正在寻找的#name元素。像这样将代码包装在DOM中

$(document).ready(function() {
    $('#name').click(function() {
        alert('alert box working');
    });
});

或者<script src="alert_box.js">之前的</body>

Learn about DOM Ready

答案 1 :(得分:0)

根据给出的答案,这应该得到解决。但我会总结一下。您可能还想使用托管在其他地方的远程jquery脚本,您可以这样引用:

<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>

...否则

<html>
  <head>
      //make sure your path here is correct
      <script type="text/javascript" src="jquery.js"></script>
      //make sure your path here is correct
      <script type="text/javascript" src="alert_box.js"></script>
      <title></title>
  </head>
  <body>
      <input type="button" id="name" value="click" >
  </body>
</html>

alert_box.js

(function() {
    $('#name').click(function() {
        alert('alert box working');
    });
});

答案 2 :(得分:0)

现在,在EternalHour为我提供外部JQuery源之后,一些功能恢复正常。但是,这不起作用,我不明白为什么:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>

    <title></title> 


      <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
      <script type="text/javascript" src="alert_box.js"></script>

      <script type="text/javascript">

      if(window.jQuery){           <!--this is a small test I ran ti see if jquery is loaded/-->
        alert('jquery functional');
      }else{
        alert('jquery not loaded');
      }

      </script>
  </head>

  <body>

    <input type="button" value="submit">


  </body>
</html>

现在回到alert_box.js ......

$(window).ready(function(){
  $(':button').click(function(){
    $(this).attr('value','loading...');     
    });
  });

按钮不会改变值,是什么导致了这个?