获取目标元素属性

时间:2018-05-26 11:04:22

标签: javascript jquery jquery-ui jquery-ui-sortable

所以我使用Jquery UI Sortable并希望获取当前项被替换的属性。 找到一个解决方案 - 调用prev(),但它返回一个位于元素上方的元素,它可能不存在,元素ID来自存储在数据库中的值。

<table>
    <tbody>
        <tr id="1">
            <td>1</td>
            <td>item 1</td>
        </tr>
        <tr id="2">
            <td>2</td>
            <td>item 2</td>
        </tr>
        <tr id="3">
            <td>3</td>
            <td>item 3</td>
        </tr>    
    </tbody>
</table>



$("tbody").sortable({
    update:function(ev,ui){
        var item = ui.item.attr("id");
        var replaced = ui.item.prev().attr("id"); // If drag to 1 return "undefined"
            alert("Moved #" + item + " to #" + replaced);
    }
});

JSFiddle:http://jsfiddle.net/qL6t7Lo7/

1 个答案:

答案 0 :(得分:0)

将替换后的变量更新为:

var replaced = ui.item.prev().attr("id") || 1;

你未定义的共鸣是因为第一个元素没有前一个项目。但是因为这只能在第一项上发生,如果没有找到replaced,您可以将ui.item.prev().attr("id")存储为1。