【发布时间】:2022-01-23 15:37:33
【问题描述】:
我有一个名为 filterwrapper 的 div,它包含五个 div。
我正在使用 jquery .each 进行循环,并且我想将 div 实际移动到与特定位置相同的 div 内的不同位置。我怎样才能最好地做到这一点?
所有子 div 都有相同的类,我不想更改它。
jQuery(document).ready(function($) {
var $filterWrap = $('#filter-wrapper .filter-container');
$('#narrow-by-list').empty();
$filterWrap.each(function (index) {
var $currFilter = $(this);
var $divParent = $currFilter.closest('.filter-container');
var divHeader = $currFilter.find('.toggle-category-header').text().trim();
if (divHeader === 'Color') {
$divParent.appendTo('#narrow-by-list');
} else if (divHeader === 'Clothes Size') {
$divParent.appendTo('#narrow-by-list');
} else if (divHeader === 'Price') {
$divParent.appendTo('#narrow-by-list');
} else if (divHeader === 'Product Type') {
$divParent.appendTo('$filterWrap :last-child');
} else if (divHeader === 'Shop By Figure') {
$divParent.appendTo('$filterWrap :last-child');
}
});
});
【问题讨论】:
-
您的逻辑中是否存在特定的错误/问题,或者您只是在寻求代码审查?
-
你能添加一些(最小的)html吗?这将有助于理解问题。您正在谈论的 5 个 div 是具有过滤容器类的那些?它们是否嵌入在具有相同类名(过滤器容器)的元素中? .filter-container 中的 .filter-container?似乎是错误的,但这就是 jQuery 代码所暗示的,因为您编写了
$currFilter.closest('.filter-container')。但是一些 html 会有所帮助:) -
我猜你想获取每个过滤容器元素的父元素?你可以使用
$(this).parent()。
标签: javascript html jquery css