javascript - 为什么我的 jQuery 代码不能运行?

标签 javascript jquery css

首先,对于这个极其初级的问题,我深表歉意。我是一个完全的新手,在没有任何外界帮助的情况下一直在自学。温柔一点。

我正在完成一个免费网络开发类(class)的练习,其中一个步骤是使用 jQuery 为一些 div 添加背景颜色。我同时使用了 .hover 和 .mouseover 方法,但都不起作用。如果我将代码放在 $(document).ready 括号之外,则什么也不会发生。如果我将代码放入其中,我所有的工作看起来都被删除了。

代码如下:

$(".pixel").hover(function(){
  $(this).css("background-color", "yellow");
}, function() {
  $(this).css("background-color", "red");
});

在 $(document).ready 函数中,我用 class="pixel"创建了很多 div,所以我想我应该能够使用上面的代码选择它们。

编辑:

再次抱歉,我似乎没有包含足够的信息。这实际上是我第一次尝试在这里发布内容。我没有人可以问这些问题。

这是我的 .js 文件的开头,在我尝试运行的 .hover 代码之前:

$(document).ready(function() {
  $("body").append("<div id='main'>");
  for (var i=0; i<256; i++) {
    $("#main").append("<div class='pixel'></div>");
  };
  $(".pixel").last().append("</div>");
});

最佳答案

两个选项 - 您可以在创建元素后初始化您的 hover 事件,或者更好的是,您可以使用 jQuery .on('mouseover').on('mouseout') 并在创建元素之前初始化事件:

$(document).on("mouseover", ".pixel", function() {
  $(this).css("background-color", "yellow");
}).on("mouseout", ".pixel", function() {
  $(this).css("background-color", "red");
});

$("body").append("<div id='main'>");

for (var i = 0; i < 256; i++) {
  $("#main").append("<div class='pixel'></div>");
};
.pixel {
  border: 1px solid #000;
  display: inline-block;
  width: 10px;
  height: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

或者,版本仍然使用简写hover:

$("body").append("<div id='main'>");

for (var i = 0; i < 256; i++) {
  $("#main").append("<div class='pixel'></div>");
};

$(".pixel").hover(function() {
  $(this).css("background-color", "yellow");
}, function() {
  $(this).css("background-color", "red");
});
.pixel {
  border: 1px solid #000;
  display: inline-block;
  width: 10px;
  height: 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 为什么我的 jQuery 代码不能运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45744412/

相关文章:

javascript - 通过 JavaScript 更改 CSS 属性。 (使用 ID 和类)

javascript - 重新定位多部分/表单数据提交按钮

javascript - 单击时将类添加到 div

css - 多个 before 语句。有没有一种方法可以使用更少的代码来做同样的事情?

pseudo-element - 内联 block 伪元素强制大小并挤出主元素

javascript - 检测 iframe 中的 DOMContentLoaded

javascript - 'class' 语法在 javascript 中如何工作?

jquery - 如何使用正则表达式删除字符串中的字母、破折号和美元符号?

javascript - 如何使用 jquery 在浏览器后退按钮单击事件上显示警报

javascript - 仅使用javascript动态添加div