我在操作元素的类属性时遇到问题,因为我使用 .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 中的错误?