gpt4 book ai didi

javascript - jQuery .detach/append 在 if/else 语句中

转载 作者:行者123 更新时间:2023-12-03 04:21:39 25 4
gpt4 key购买 nike

我在为自定义帖子类型分类法创建类别过滤器时遇到了一些麻烦,我已经尝试过在 jQuery 中分配不同的东西,我认为这应该是获得我想要的内容的最佳方式。

代码:

var divs;

$('.category').on('click', function() {
if(divs == 1) {
alert('ayylmao?');
$('section#showcase').append(detached);
divs = 0;
} else {
divs = 1;
var lolxd = $(this).find('a').attr('id');
alert(lolxd);
var detached = $('section#showcase').contents().not("." + lolxd).detach();
}
});

不久前我使用了 jQuery,但由于某种原因,var 'detached' 不会 append 到展示部分。

想听听我做错了什么;_;

最佳答案

detached 在您的点击处理函数中声明。这意味着每次函数运行时都会重新创建它。

将其与您使用 div 进行对比,后者是在函数外部声明的,因此在函数调用之间持续存在。

有很多方法可以解决这个问题,但最简单的方法是遵循与 div 相同的模式,并使用如下所示的代码:

var divs;
var detached;
$('.category').on('click', function() {
if(divs == 1) {
alert('ayylmao?');
$('section#showcase').append(detached);
divs = 0;
} else {
divs = 1;
var lolxd = $(this).find('a').attr('id');
alert(lolxd);
detached = $('section#showcase').contents().not("." + lolxd).detach();
}
});

更一般地说,听起来就像当您分离展示柜时,您希望保留它,以便以后可以将其添加回来。根据程序的构成,将该项的 display 更改为 none 可能会更有用。但是,如果您有多个可以 append 到展示的内容,这确实会改变语义。

关于javascript - jQuery .detach/append 在 if/else 语句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43921324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com