![](/img/trans.png)
[英]Apply styles regardless if the element has been added to the DOM with 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.