使用JQuery ^^获取元素的先前兄弟的值

时间:2012-02-26 14:08:15

标签: javascript jquery html

当我点击img我想获得前一个td的值.. 我尝试此代码,但它不起作用,警报无法显示(userid)值

$(document).ready(function()
    {    
        var $Edit = $("tbody tr.odd td.hvr img");
        $Edit.click(function() {
        var userid = $(this).prev('td').val();
        alert(userid);
        }
        )
   })

html代码:

<tbody> 
<tr class="odd"> 
    <td>some</td> 
    <td class="hvr"><img src="EditBtn.png"/></td> 

</tr> 

</tbody> 

2 个答案:

答案 0 :(得分:4)

您的尝试有两个问题,第一个是td img元素的上一个兄弟,它是{{的前一个兄弟姐妹1}}元素的父(img)元素。

第二个问题是td没有td属性,因此value是错误的方法,而是val(),所以请尝试使用:

text()

JS Fiddle demo

参考文献:

答案 1 :(得分:0)

  1. 在您的代码中this<img>标记,而不是td。使用closest('td')可使<td>最接近图片。
  2. <td>标记没有值,因此val()无效。使用text()获取内部文字:
  3. 尝试:

     $(document).ready(function()
     {    
         var $Edit = $("tbody tr.odd td.hvr img");
         $Edit.click(function() {
             var userid = $(this).closest('td').prev('td').text();
             alert(userid);
             })
     })