JQuery函数.load无法正常工作

时间:2016-06-28 16:36:20

标签: javascript jquery html

我有下一个代码。我想要做的是当我刷新或打开页面时,添加课程介绍。但我的主要问题在于:

$("body").load(function(){

我希望在打开页面时添加类.intro。而不是身体,我也试过html,但仍然没有工作。



<!DOCTYPE html>
<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
    <script>
      $(document).ready(function(){
        $("body").load(function(){
          $("p").addClass("intro");
        });
      });
    </script>
    <style>
      .intro {
        background-color:green;
      }
    </style>
  </head>
  <body>

    <img src="https://k32.kn3.net/taringa/1/9/3/9/4/7/32/johnny_te_toco/330x330_248.gif" width="304" height="236">

    <p><b>Note:</b> Depending on the browser, the load event may not trigger if the image is cached.</p>

  </body>
</html>
&#13;
&#13;
&#13;

4 个答案:

答案 0 :(得分:3)

为此,您不应使用 load()

  

load()函数说明:从服务器加载数据并将返回的HTML放入匹配的元素中。

你需要准备好的功能才能实现这个目标:

$(document).ready(function(){
     $("p").addClass("intro");
});

//OR

jQuery(function($){
     $("p").addClass("intro");
});

希望这有帮助。

答案 1 :(得分:0)

将您的代码放入$(document).ready回调。

&#13;
&#13;
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("p").addClass("intro");
});
</script>
<style>
.intro {
background-color:green;
}
</style>
</head>
<body>

<img src="https://k32.kn3.net/taringa/1/9/3/9/4/7/32/johnny_te_toco/330x330_248.gif" width="304" height="236">

<p><b>Note:</b> Depending on the browser, the load event may not trigger if the image is cached.</p>

</body>
</html>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

请改为尝试:

$(document).ready(function(){
    $(window).load(function(){
         $("p").addClass("intro");
    });
});

加载事件附加到window。如果这就是你的意思?在这样的DOM元素上加载并没有多大意义。

虽然这应该有用,但您可以将其从ready()事件中删除。

$(document).ready(function(){
    // Nothing to see here...
});

$(window).load(function(){
    $("p").addClass("intro");
});

这等待窗口的加载,但是如果你只是想在DOM准备就绪时尽快添加类,那么,你根本不需要load():< / p>

$(document).ready(function(){
    $("p").addClass("intro");
});

奖励:您应该使用on()附加所有未来事件。

$(window).on('load', function(){
    $("p").addClass("intro");
});

on() future jQuery版本中事件的首选方法,因为旧方法已弃用。

一切顺利。

答案 3 :(得分:0)

body {
  margin: 10px;
  background:black;
}
button {
  display:block;
  text-align:center;
  margin:0 auto;
  margin:60px auto;
  background:black;
  border:2px solid #ffca00;
  padding:30px;
  width:250px;
  color:#ffca00;
  text-transform:uppercase;
}