簡體   English   中英

jQuery:是否已通過.wrap()添加到DOM上的jQuery元素上的類?

[英]jQuery: Toggle class on jQuery element that has been added to the DOM via .wrap()?

我在處理元素的class屬性時遇到問題,因為我已使用.wrap()將其添加到DOM中。 即使一切似乎井井有條,它也根本不會更改屬性。

如果我使用的不是.wrap()或.wrapInner(),則一切都會按預期進行。 如果我將.toggleClass()更改為if / else(如果仍然無法工作)。

當然可以解決該問題,但是我寧願找到問題的根源並從中學習一些東西。

這是有問題的代碼:

$('.tour-category').each(function () {
    var tour_list = $(this);
    var header = tour_list.parent().find('h4');
    var link = $('<a>', {
        href: '#',
        'class': 'tour-category-toggler',
        click: function (e) {
            e.preventDefault();

            tour_list.slideToggle(200);
            link.toggleClass('close');
        }
    });

    tour_list.hide();
    header.wrap(link);
});

也許我缺少某些東西,或者這可能是jQuery中的錯誤?

嘗試改變

link.toggleClass('close');

進入

$(this).toggleClass('close');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM