ul > li").click(function () { if ($(this).children('.sub-parts').length > 0) { -6ren">
gpt4 book ai didi

html - 我的 jQuery 代码不再适合 jQuery 1.9.on。有人告诉我我现在该怎么办?

转载 作者:太空宇宙 更新时间:2023-11-04 04:41:28 25 4
gpt4 key购买 nike

$(".p-list > ul > li").click(function () {

if ($(this).children('.sub-parts').length > 0) {

if (!$(this).hasClass('open')) {
$(this).addClass('open');
$(this).find('.sub-parts').fadeIn('normal');
}
}
});


$(document.body).on('click', ".p-list .open-tl", function () {
if ($(this).parent('.open').length > 0) {
$open = $(this).parent('.open');
$($open).find('.sub-parts').hide();
$($open).removeClass('open');
}
});

我有这段代码可以在点击时隐藏 div,并在他们点击 open'tab .open-tl 时显示它们。

问题是当我不想运行第二个代码时,第二个代码在 Fadein 代码之后执行。

请有人检查http://jsfiddle.net/vNfeD/

最佳答案

$open = $(this).parent('.open');
$($open).find('.sub-parts').hide();
$($open).removeClass('open');

必须是

$open = $(this).parent('.open');
$open.find('.sub-parts').hide();
$open.removeClass('open');

你可以减少它

$(this).parent('.open').removeClass('open').find('.sub-parts').hide();

父if可以被移除,如果object为空jquery什么都不做

if ($(this).parent('.open').length > 0) { // remove that

当 child 隐藏时不允许第二次代码执行,添加一个 event.stopPropagation();就在没有 .open 和有 subs 的时候,检查 fiddle

http://jsfiddle.net/r043v/vNfeD/5/

关于html - 我的 jQuery 代码不再适合 jQuery 1.9.on。有人告诉我我现在该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15379477/

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