javascript - 将每个 div 附加到自己的父级

标签 javascript jquery html css

我通过从后端(我不接触)提取数据,使用 jQuery 动态创建 DOM 结构。目前后端在页面上输出 4 个文本元素。我有一个 each 循环,它根据页面上有多少元素来创建匹配框 div。故事的寓意,我需要将每个元素放在自己单独的 div 中。当前第一个 div 包含所有 4 个元素,第二个包含 3 个,第三个包含 2 个,第四个包含 1 个。它的外观示例:

---------------------
|Item1              |
|Item2              |
|Item3              |
|Item4              |
---------------------
---------------------
|Item1              |
|Item2              |
|Item3              |
|                   |
---------------------
---------------------
|Item1              |
|Item2              |
|                   |
|                   |
---------------------
---------------------
|Item1              |
|                   |
|                   |
|                   |
---------------------

下面是 jquery:

  $('.sequencing').append('<div class="sequence_boxes sortable sortable_area"></div>');

  $('.sequence_option').each(function(i) {
    $('<div class="box"></div>').appendTo($('.sequence_boxes'));
    $(this).appendTo($('.box')); 
  });

最佳答案

问题是您将 this 附加到 $('.box'),它将匹配 所有 框,因此您'将获得克隆的元素。

相反,只需附加到您刚刚创建的那个:

$('.sequencing').append('<div class="sequence_boxes sortable sortable_area"></div>');
$('.sequence_option').each(function(i) {
    $('<div class="box"></div>').appendTo($('.sequence_boxes')).append(this);
    // We're doing the append here ----------------------------^
});

或者没有链接更清晰一些:

$('.sequencing').append('<div class="sequence_boxes sortable sortable_area"></div>');
$('.sequence_option').each(function(i) {
    var box = $('<div class="box"></div>');
    box.appendTo($('.sequence_boxes'));
    box.append(this);
});

您可能还想只查找 .sequence_boxes 一次,而不是重复查找,也许为了优化浏览器的工作您可以只附加 .sequence_boxes 完成填写后:

var boxes = $('<div class="sequence_boxes sortable sortable_area"></div>');
$('.sequence_option').each(function(i) {
    $('<div class="box"></div>').appendTo(boxes).append(this);
});
boxes.appendTo($('.sequencing'));

关于javascript - 将每个 div 附加到自己的父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23785800/

相关文章:

javascript - 在不重定向页面的情况下单击 Jquery 切换按钮时应该完成一些 PHP 过程

javascript - 无需服务器加载 JSON 文件

javascript - 如何根据元素id制作动态模态窗口?

php - 显示包含多个结果的数据

javascript - TinyMCE 4 编辑器内容换行

javascript - 如何在 CasperJS 中使用 jQuery find() 函数?

javascript - 使用一个 CSS 选择网页外观而无需重新加载

javascript - 如何将 $scope 对象获取到 Angular 服务

javascript - 如何通过 jquery ajax 将两个或多个 `input type file` 字段上传到数据库中?

php - 需要解决IE 8 Jquery问题