当多个div具有相同名称时,仅关闭一个类

时间:2013-03-14 20:35:33

标签: jquery html

我正在动态创建这个树,问题是因为它们都有相同的类名,所以它会关闭所有打开的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>

其中,音符关闭是音符的结束按钮,

1 个答案:

答案 0 :(得分:1)

我假设你的关闭按钮应关闭当前音符,因此不需要.next() / .prev()。您可以使用.closest()将DOM移至第一个.notes.toggle()

取代:

$(this).parent().next('.notes').toggle();

使用:

$(this).closest('.notes').toggle();