0

我在跨度内有两个图像。我需要每个图像点击的 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');

它工作正常。我在查找第二张图片的 ID 时遇到问题。我尝试使用相同的代码,但它不起作用。

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

而是返回undefined

4

4 回答 4

1

我怀疑你会在这里遇到两个问题。首先,您将获得“id1”属性,而不是“id”。这可能是您想要的,但“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 回答