让孩子在安里

Getting Child ul in an li

本文关键字:孩子      更新时间:2023-09-26

>我有一个剃刀视图,比如

 <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);没有附加相应的 ul 的 li,

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

问题是parent_id是没有类.sub-cat-list1anchor元素。

您可以定位单击的锚元素的下一个同级

元素,例如
$("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.            
        });
    });
});

或使用相邻的同级选择器

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