我想使用JavaScript / JQuery获取父div的ID。
这是我的Razor / HTML:
<div id="Container" style="width: 100%; margin: 0 auto;">
@for (int i = 0; i < 2; i++)
{
<div id="abc1_@i" style="height:auto;">
<div id="sortable1" class="connectedSortable">
<div id="accordion">
<div>
<h3 style="width: 98%; margin-left: 0%;">
Section1-@i
</h3>
<div id="div1" class="ui-state-highlight"
style="width: 98%;">
<div id="halfViewList-@i"></div>
</div>
</div>
</div>
</div>
}
</div>
CSS
#sortable1 {
border: 1px solid Black;
float: left;
height: auto;
margin-left: 1%;
width: 48%;
}
这就是我一直试图访问父div的ID:
$(function ()
{
$("#sortable1,#sortable2").sortable(
{
connectWith: ".connectedSortable",
stop: function (event, ui)
{
var drag_id = $(ui.item).attr("id");
alert("drag_id : " + drag_id);
var parentId = $(this).closest('div').attr('id');
var sparent = $("#" + parentId).parent().closest('div').attr("id");
alert('sparent : ' + sparent);
}
}).disableSelection();
});
它始终返回abc1_0
。我怎样才能获得父母的身份证?
答案 0 :(得分:1)
每个元素都应该有唯一的ID。
您正在多次添加一个具有相同ID的元素,这是我怀疑的失败:
更改以下行:
<div id="sortable1" class="connectedSortable">
为:
<div id="sortable_@(i)" class="connectedSortable mysort">
并在jquery中:
$(".mysort").sortable({
connectWith: ".connectedSortable",
stop: function (event, ui) {
var drag_id = $(ui.item).attr("id");
alert("drag_id : " + drag_id);
var parentId = $(this).closest('div').attr('id');
var sparent = $("#" + parentId).parent().closest('div').attr("id");
alert('sparent : '+ sparent);
}
}).disableSelection();
.mysort{
border: 1px solid Black;
float: left;
height: auto;
margin-left: 1%;
width: 48%;
}