2016-08-30 91 views
0

我正在使用jQuery UI排序来排序页面中的列表元素。排序后,我想获得按钮的ID。截至目前,我能够捕获列表中的<div>元素。但是,我想获得ID为class='buttonData'的按钮。我粘贴了下面的示例HTML,CSS和jQuery代码以供参考。谢谢。jQuery:检索嵌套的div元素的标识

$(".multipleButtons").sortable({ 
 
       connectWith: '.multipleButtons', 
 
       stop: function (ev, ui) { 
 
        var hasLooped = false; 
 
        var list = $(ui.item).parent().find(".adminMenuButton").each(function (index) { 
 
         if (!hasLooped) { 
 
          console.log(ui.item[0]); 
 
          console.log(ui.item[0].nextElementSibling); 
 
          console.log(ui.item[0].previousElementSibling); 
 
          hasLooped = true; 
 
         } 
 
        }) 
 
       } 
 
      }).disableSelection(); 
 
     }
<link href="http://code.jquery.com/ui/1.10.4/themes/ui-lightness/jquery-ui.css" rel="stylesheet"> 
 
<script src="http://code.jquery.com/ui/1.10.4/jquery-ui.js"></script> 
 
<style type="text/css"> 
 
    .landingmenu > ul > fieldset { 
 
     width: 100%; 
 
    } 
 
</style>
<div class="landingmenu"> 
 
     @Html.HiddenFor(model => model.Groups[i].Id, new { @class = "adminMenuGroupId" }) 
 
     <div class="btn-group multipleButtons"> 
 
     @for (int x = 0; x < Model.Groups[i].Buttons.Count; x++) 
 
     { 
 
    <div class="landingmenu btn-group"> 
 
     <a href="@Model.Groups[i].Buttons[x].URL" target="@(Model.Groups[i].Buttons[x].OpensInNewWindow ? "_blank" : "_self")" class="adminMenuButton buttonData btn btn-default talent-solid-btn buttonspace">@Model.Groups[i].Buttons[x].Name</a> 
 
    @if (ViewBag.IsSiteAdmin) 
 
    { 
 
    <div id="[email protected][i].Id:[email protected][i].Buttons[x].Id" class="buttonData"> 
 
    </div> 
 
     btnId++; 
 
     }              
 
    </div> 
 
    } 
 
    </div> 
 
</div>

下面是我的浏览器console.log,强调的是ID的,我想捕捉。

enter image description here

回答

2

提供我明白了,你有一个外层div并专区内的一些按钮。你想要一个这些按钮的ID列表。我认为这将解决您:

<div id="outerdiv"> 
<div class="buttonData" id="test1">Test </div> 
<div class="buttonData" id="test2">Test </div> 
<div class="buttonData2" id="test3">Test</div> 
<div class="buttonData" id="test4">Test</div> 
</div> 

JavaScript的

var arr = []; 
$("#outerdiv > div.buttonData").each(function(){ 
    arr.push(this.id); 
    alert(this.id); 
}) 

这里是一个的jsfiddle演示,太:https://jsfiddle.net/m1xorfw7/1/

+0

感谢您的解决方案,但它并不在我的情况下工作。 – user1221765

+0

怎么回事? – richb01

+0

这工作..这次正确地添加了id到outerdiv。谢谢 – user1221765