2016-08-30 75 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