-2

嘿家伙只是一个快速的问题。

我正在制作一个可排序的拖放系统,我需要它,当用户将消息拖到删除框时,它将.remove(); 并且会消失(很好地删除它),但问题是它删除了消息的小元素,如主题,我希望它删除整个 div,例如“消息”元素之一。那么如何获取消息 div的 parentNode

它确实会刷新消息,因此不必担心消息

我的代码是

<div class="message 1" id="1">  // I want to remove this part and only this part
                    <ul id="8">
                        <li class="dragable" id="2">
                            <!-- Dragable -->

                        </li>
                        <li class="checkbox" id="4">
                            <input type="checkbox" name="checkbox" class="checkbox" id="messagecheck1">
                        </li>
                        <li id="3"> 
                            <p> hi</p>
                        </li>
                    </ul>
                </div>

js

$(".messageholder").sortable({          
        start: function(event, ui){
            $(ui.item).css("opacity", "0.25");
            draggable_sibling = $(ui.item).prev();
            $(".deletebox").show();
        },

        stop: function(event, ui) {
            $(".deletebox").hide();
            if (dropped) {
                if (draggable_sibling.length == 0)
                    $('.messageholder').prepend(ui.item);

                draggable_sibling.after(ui.item);
                dropped = false;
            }
            $(ui.item).css("opacity", "1.00");
        },
        update: function(event, ui){
            //Use's Xhr to save the position of the message
            var array = [];
            $(".messageholder div").each(function(e){
                 array.push($(this).attr('id'));
            });
            $.ajax({
                type: 'POST',
                url: 'json/save.php',
                data: ("data="+array)                           
            });

        }   


    }); 

        $(".refresh").click(function(){
            checkmessages();        
        });     

        $(".deletebox").droppable({         
                drop:function(event, ui){
                    dropped = true;                 
                    $(event.target.parentNode).closest('div').remove();


                    }               

        });     


        $(".messageholder").disableSelection();

它们是具有相同类名的多个元素,因此我无法在一行代码中 删除消息类,我必须单独选择元素并像这样删除它。

链接 http://gruber.co.nz/messages/

4

1 回答 1

1

如果您使用的是 jQuery,应该会出现一个快速的谷歌搜索:http .parent(): //api.jquery.com/parent/

额外的

.closest(selector)如果您需要使用选择器来查找不是直接父级的祖先,您也可以使用:http: //api.jquery.com/closest/

于 2012-08-20T03:29:28.120 回答