jQuery拖放后读取DOM

jQuery拖放后读取DOM,jquery,drag-and-drop,Jquery,Drag And Drop,你好 我尝试使用jQuery进行拖放,然后读取DOM。在drop函数中,我使用append()方法将draggable追加到新位置。但可能只有在drop()方法完成后,而不是append()方法完成后,才能从旧位置删除draggable。 这听起来可能很奇怪,但这里有一个例子。 这是我的javascript: <code> $(document).ready(function(){ $('div.drag').draggable({

你好
我尝试使用jQuery进行拖放,然后读取DOM。在drop函数中,我使用append()方法将draggable追加到新位置。但可能只有在drop()方法完成后,而不是append()方法完成后,才能从旧位置删除draggable。 这听起来可能很奇怪,但这里有一个例子。 这是我的javascript:

<code>

    $(document).ready(function(){

                    $('div.drag').draggable({
                        helper : 'clone',
                        opacity : 0.3
                    });

                    $('td.cell').droppable({
                        accept : function(draggable){                       
                            if($(this).find('.drag').length > 0){
                                return false;
                            }
                            return true;
                        },
                        drop : function(event, ui) {
                            $(this).append(ui.draggable);                           

                            $('#myTable').change();
                        }

                    });

                    $('#myTable').change(function() {
                        var table = document.getElementById('myTable');
                        var trList = table.getElementsByTagName('tr');

                        var resultString = '';
                        for (var i=0; i < trList.length; i++)
                        {
                            var tdList = trList[i].getElementsByTagName('td');
                            for (var j=0; j < tdList.length; j++)
                            {
                                if(tdList[j].getElementsByTagName('div').length > 0){
                                    resultString+='row' + i + ' column ' + j + ';';
                                }                           
                            }

                        }

                        $('#result').text(resultString);
                    });
                });

<code>
这是我的html代码片段:

<code>


<div class="drag">drag me</div>
    <table id="myTable" border="1" cellpadding="0" cellspacing="0">
        <tr>
            <td class="cell">&nbsp;</td>
            <td class="cell">&nbsp;</td>
            <td class="cell">&nbsp;</td>                
        </tr>
        <tr>
            <td class="cell">&nbsp;</td>
            <td class="cell">&nbsp;</td>
            <td class="cell">&nbsp;</td>                
        </tr>
        <tr>
            <td class="cell">&nbsp;</td>
            <td class="cell">&nbsp;</td>
            <td class="cell">&nbsp;</td>                
        </tr>
    </table>


    <div id="result"></div>

<code>

因此,当我拖动时,不仅在result div中有新位置,而且前面的位置也存在

我怎样才能避免呢