2014-11-24 80 views
0

我有一个Razor视图,像获取子UL在李

<ul class="nav" id="product-cat-menu"> 
    @foreach (var category in ViewBag.CategoryList) 
    { 
     <li> 
     <a href="#" id="@category.Id" class="parent-cat"><i class="fa fa-th-large"></i>@category.Name</a> 
     <ul class="sub-cat-list1"></ul> 
     </li> 
    } 
    </ul> 

和我有一个jquery,

$("a.parent-cat").click(function() { 
    var prent_id = this.id; 

    $.getJSON('/Products/GetChildCategories/' + prent_id, function (data) { 
     $.each(data, function (i, item) { 
      var sub_cat_li = "<li><a href='#' id=" + JSON.stringify(item.Item1).replace(/\"/g, "") + ">" + JSON.stringify(item.Item2).replace(/\"/g, "") + "</li>"; 
      $('#' + prent_id + '.sub-cat-list1').append(sub_cat_li); // this is not appending.    
     }); 

    }); 

}); 

$('#' + prent_id + '.sub-cat-list1').append(sub_cat_li);不追加里的correspondi UL,

$('.sub-cat-list1').append(sub_cat_li);正在工作,并且正在追加所有sub_cat_li ul。如何在相应的li下获得ul。

回答

2

问题是parent_idanchor元素,它没有类.sub-cat-list1

您可以定位锚点击元素的像

$("a.parent-cat").click(function() { 
    var $this = $(this); 
    var prent_id = this.id; 

    $.getJSON('/Products/GetChildCategories/' + prent_id, function (data) { 
     $.each(data, function (i, item) { 
      var sub_cat_li = "<li><a href='#' id=" + JSON.stringify(item.Item1).replace(/\"/g, "") + ">" + JSON.stringify(item.Item2).replace(/\"/g, "") + "</li>"; 
      $this.next('.sub-cat-list1').append(sub_cat_li); // this is not appending.    
     }); 

    }); 

}); 

下一个兄弟或者使用adjacent sibling selector

$('#' + prent_id + ' + .sub-cat-list1').append(sub_cat_li);