jquery父母/最近没有工作

时间:2012-10-14 00:17:35

标签: jquery parent closest

我有一个链接可以将一些数据发布到控制器。它工作正常并更新数据。但我想改变父div的CSS,但它没有发生。我尝试了很多变化,但我必须做一些愚蠢的事情。

代码在

之下

查看:

@foreach (var item in Model)
{
    <div class="added-property-excerpt">
        ...
        <div class="added-property-links">
        ...
        @if (!item.IsPropertyDisabled) { 
                @Html.ActionLink("Take off the Market" , "Disable", "Property", new { id = item.PropertyId }, new { id ="disable-link" })
            }
            else {
                @Html.ActionLink("Bring on the Market" , "Enable", "Property", new { id = item.PropertyId }, new { id ="enable-link" })
            }
        </div>
    </div>
}

JQuery的

 <script>
     $(function () {
         $('a#disable-link').click(function (e) {
             $('.added-property-links').text('loading...');
             $.ajax({
                 url: this.href,
                 dataType: "text json",
                 type: "POST",
                 data: {},
                 success: function (data, textStatus) { }
             });
             $(this).closest('.added-property-excerpt').css("background", "red");
          // $(this).parent('.added-property-excerpt').css("background", "red");
             e.preventDefault();
         });
     });
 </script>

2 个答案:

答案 0 :(得分:5)

你试过了吗?

$(this).parents('.added-property-excerpt').css("background", "red");
带有 s

parents

它的作用是从父母到父母,直到找到你想要的课程。

答案 1 :(得分:4)

试试这个

$(function () {
    $('a#disable-link').click(function (e){
        var parentDiv=$(this).closest('.added-property-excerpt');
        $('.added-property-links').text('loading...');
        parentDiv.css("background", "red");
        $.ajax({...});
        e.preventDefault();
    });
});

查看a working examplenon-working example中的差异。