0

スパン内に2つの画像があります。画像をクリックするたびにid1の値が必要です。

<span class="deleteid">
  @Html.ActionLink(item.categoryModel.catName, "Show", new { id1=item.itemId})
  <img id="iconItemEdit" src="@Url.Content("~/Content/MyIcons/ee.png")" 
   style="width: 13px; height: 13px;"/>

  <img id= "iconDelete" src="@Url.Content("~/Content/MyIcons/delete.png")" 
    alt="delete" style="width: 13px; height: 13px;"/>
</span>

私が使用した最初の画像

$('#iconItemEdit').live('click', function () {
    var it = $(this).prev().attr('id1');

正常に動作しています。2番目の画像のIDを見つけるのに問題があります。同じコードを使ってみましたが、うまくいきませんでした。

$('#iconDelete').live('click', function () {
    var it = $(this).prev().attr('id1');
    alert(it);

undefined代わりに戻っています。

4

4 に答える 4

1

ここで2つの問題に遭遇するのではないかと思います。まず、「id」ではなく「id1」属性を取得します。これはあなたが望むものかもしれませんが、「id」がより一般的です。

元の問題は、前の兄弟なしで要素の前の兄弟を取得しようとしていることである可能性があります。例については、このJSFiddleを参照してください:http: //jsfiddle.net/Knjfh/

$(function(){
    var sID = $("#three").prev().attr("id");
    $("body").append("<p>The element previous to #three has the id '" + sID + "'</p>");
    sID = $("#one").prev().attr("id");
    $("body").append("<p>The element previous to #one has the id '" + sID + "'</p>");
});
于 2013-02-06T06:29:14.560 に答える
0

これを試して:

   var Id = $(this).find('span.deleteid').data('id');
于 2013-02-06T06:28:29.557 に答える
0

私はあなたが何を望んでいるのか完全にはわかりませんが、これを試してください:

$('#iconDelete').live('click', function () {
    var it = $(this).closest('span').find('a').attr('id1');
    alert(it);
}); 
于 2013-02-06T06:36:25.783 に答える
-1

試す:

$('#iconDelete').live('click', function () {
    var it = $(this).closest('span').attr('id1');
    alert(it);
});
于 2013-02-06T06:24:24.067 に答える