javascript - div在创建jquery对象中的作用

标签 javascript jquery object html append

我正在尝试创建一个圆圈网格,单击时会改变颜色。我目前必须以可视方式创建网格(有效)的代码是这样的:

var color = null;
for (var r = 0; r < 5; r++) { // row
    for (var c = 0; c < 5; c++) { // column
        var myCircle = document.createElement('div');
        myCircle.id = "circle";

        myCircle.style.left = r * 56 + "px";
        myCircle.style.top = c * 56 + "px";

        document.getElementById('grid').appendChild(myCircle); //maybe error
    }
}

我想将其转换为等效的 jquery 来处理单击时状态的变化。这是我到目前为止所得到的: var 颜色 = null;

for (var r = 0; r < 5; r++) { // row
    for (var c = 0; c < 5; c++) { // column

        var $myCircle = $("#circle");
        $myCircle.style.left = r * 56 + "px";
        $myCircle.style.top = c * 56 + "px";
        $(document).ready(function () {
        $($myCircle).click(function() {
         $($myCircle).css('backgroundColor', 'color');
               });
         });
        $('#grid').append($mycircle);
    }
}

知道我哪里出错了吗?我需要在上面代码中的某处引入“div”吗?怎么办?

最佳答案

您正在选择一个元素,而不是在此处创建

$("#circle");

试试这个

   $(document).ready(function () {
     for (var r = 0; r < 5; r++) { // row
      for (var c = 0; c < 5; c++) { // column
         var $myCircle = $("<div />").attr({class:"circle"}).css({left:r * 56 + "px" ,top :c * 56 + "px"}));  //creating a div element with its attributes...
         $('#grid').append($mycircle); //appending it to grid
      }
     }

      $('#grid').on('click','#circle',function() { //using on delegate for dynamically added  div
            $(this).css('backgroundColor', 'color'); 
       });
     });

为了使单击事件适用于动态添加的元素,我们需要将其委托(delegate)给最近的静态父元素。 并且 ID 应该始终是唯一的,因此最好将您的 ID 更改为我在这里所做的类。

已更新

更新了你的 fiddle 中的一些错误,检查一下..

删除 .在我的圈子里

 var $myCircle = $('<div />').addClass('circle').css({
                        //-------------^---removed the `.`..

并将所有 javascript 更改为 jquery..

working fiddle

关于javascript - div在创建jquery对象中的作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15941189/

相关文章:

javascript - Colorbox - 无法无错误地维护多个组

javascript - 在 JSON 文件中搜索。

javascript - 为什么 jQuery 选择器函数与原生 DOM 方法相比这么慢

php - Wordpress 中的 Ajax 调用根本不起作用(500 内部服务器错误)

JavaScript 接收伪整数(即 0100 或 03)并输出正确整数的函数

javascript - Google Script,如何使用正则表达式将一行从 Sheet1 复制到 Sheet2 而不是一个单元格?

javascript - 接受输入来运行程序并在网页上显示输出

javascript - 用另一个数组对一个对象数组进行排序

python - python 创建对象列表

c++ - 尝试重载输出运算符时,我无法遍历对象 vector