Javascript 获取目标元素属性

Javascript 获取目标元素属性,javascript,jquery,jquery-ui,jquery-ui-sortable,Javascript,Jquery,Jquery Ui,Jquery Ui Sortable,因此,我使用Jquery UI Sortable,并希望获得被替换的当前项的属性。 只找到一个解决方案-调用prev(),但它返回一个位于元素上方的解决方案,该解决方案可能不存在,并且元素ID取自存储在数据库中的值 <table> <tbody> <tr id="1"> <td>1</td> <td>item 1</td> &

因此,我使用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);
    }
});

1.
项目1
2.
项目2
3.
项目3
$(“tbody”)。可排序({
更新:功能(ev、ui){
var item=ui.item.attr(“id”);
var replaced=ui.item.prev().attr(“id”);//如果拖动到1,则返回“未定义”
警报(“移动#”+项目+”到#“+替换);
}
});

jsIDLE:

将替换的变量更新为:

var replaced = ui.item.prev().attr("id") || 1;
未定义的原因是因为第一个元素没有前面的项。但由于这只能发生在第一个项目上,因此如果未找到
ui.item.prev().attr(“id”)
,则可以将
replaced
存储为1