我正在动态创建这个树,问题是因为它们都有相同的类名,所以它会关闭所有打开的div。
我正在尝试使用$(this).parent().next('.sticker').hide();
,但没有任何反应。我使用它错了吗?
$('#note-btn').click(function() {
$.get('xml/note.xml', function(data) {
$(data).find('notes').each(function() {
var notes = '<div class="notes">';
notes += '<div class="notes-close">' + '</div>';
$('#page-content-wrapper').append(notes);
});
$(".notes-close").click(function()
{
$(this).parent().next('.notes').toggle();
});
});
});
});
这个的输出是。
<div id="page-content-wrapper">
<div class="notes">
<div class="notes-close"></div>
</div>
</div>
其中,音符关闭是音符的结束按钮,
答案 0 :(得分:1)
我假设你的关闭按钮应关闭当前音符,因此不需要.next()
/ .prev()
。您可以使用.closest()
将DOM移至第一个.notes
和.toggle()
。
取代:
$(this).parent().next('.notes').toggle();
使用:
$(this).closest('.notes').toggle();