2016-03-24 4 views
2

私はulを持っていて、その中の各liにゴミアイコンがあります。ゴミ箱を押すとulの最初のアイコンがわかります。私が試みていることは、常に偽を返します。 :first-child李のアイコンをクリックすると、ulの最初の李がどうなるかをどうやって決めますか?

$("ul#sortable").on("click", ".removethumb", function(event) { 
 
    event.preventDefault(); 
 

 
    //$isThumbPrimary = $(this).is(':first'); 
 
    alert($(this).is(':first-child')) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<ul id="sortable"> 
 
    <li class="removethumb">one</li> 
 
    <li class="removethumb">two</li> 
 
    <li class="removethumb">three</li> 
 
</ul>
である必要があり、私も運

$("ul#sortable").on("click", ".removethumb", function (event) { 
 
    event.preventDefault(); 
 
    
 
    $isThumbPrimary = $(this).is(':first'); 
 
    
 
});
<ul id="sortable" style="list-style-type: none; padding-left: 0px;"> 
 
    @foreach (var image in Model.ViewImages.OrderBy(i => i.Ordering)) { 
 
    <li id="@image.YogaSpaceImageId" class="col-sm-6 col-md-4 imagethumbs" data-yogaspaceid="@Model.YogaSpaceId"> 
 

 
    <div class="thumbnail" style="background-color: lightgrey;"> 
 
     <a id="@image.YogaSpaceImageId" class="close removethumb" href="#" style="padding-top: 2px; position: absolute; z-index: 3000;"><span class="glyphicon glyphicon-trash" aria-hidden="true" style="padding: 5px;"></span></a> 
 
     @{ var base64 = Convert.ToBase64String(image.ImageThumbnail); var thumbSrc = String.Format("data:image/gif;base64,{0}", base64); var base64Modal = Convert.ToBase64String(image.Image); var imgSrcModal = String.Format("data:image/gif;base64,{0}", base64Modal); 
 
     var imageId = "pop" + image.YogaSpaceImageId; var imagesourceId = "imagesource" + image.YogaSpaceImageId; } @* 
 
     <a class="image" id="@imageId" href="" data-toggle="modal" data-target="#myModal"> 
 
     <img id="@imagesourceId" src="@thumbSrc" data-imagesrc="@imgSrcModal" alt="image not found" width="203" height="136" /> 
 
     </a>*@ 
 
     <a class="image" id="@imageId" href="" data-toggle="modal" data-target="#myModal" style="width: 100%; height: 100%; position: relative;"> 
 
     <img id="@imagesourceId" src="@thumbSrc" data-imagesrc="@imgSrcModal" alt="image not found" style="width: 100%; height: 100%" @*width="203" height="136" *@ /> 
 
     </a> 
 
    </div> 
 

 

 

 
    </li> 
 
    } 
 
</ul>

+0

が必要だと思うあなたの要素の入れ子を考える (ドキュメント).ready();問題はスクリプトタグの位置にあると思います。 bodyタグの後ろに置くべきです。あなたのコードがうまくいくはずです –

答えて

2

:first

$(this).parents('li').is(':first'); 

を試してみました私はあなたのコードは$に包まれていなかった場合、あなたが実際に$(this).closest('li').is(':first-child')

$("ul#sortable").on("click", ".removethumb", function(event) { 
 
    event.preventDefault(); 
 
    event.stopPropagation(); 
 

 
    alert($(this).closest('li').is(':first-child')) 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 

 
<ul id="sortable"> 
 
    <li class="removethumb"> 
 
    <div class="thumbnail"> 
 
     <a class="removethumb" href="#">one</a> 
 
    </div> 
 
    </li> 
 
    <li class="removethumb"> 
 
    <div class="thumbnail"> 
 
     <a class="removethumb" href="#">two</a> 
 
    </div> 
 
    </li> 
 
    <li class="removethumb"> 
 
    <div class="thumbnail"> 
 
     <a class="removethumb" href="#">three</a> 
 
    </div> 
 
    </li> 
 
</ul>

関連する問題