Javascript 使用JQuery获取元素的上一个同级的值^^

Javascript 使用JQuery获取元素的上一个同级的值^^,javascript,jquery,html,Javascript,Jquery,Html,当我点击img时,我想得到上一个td的值。。 我尝试了这段代码,但它不起作用,警报无法显示(userid)值 html代码: <tbody> <tr class="odd"> <td>some</td> <td class="hvr"><img src="EditBtn.png"/></td> </tr> </tbody> 一些 您的尝试有两个问题,第一

当我点击img时,我想得到上一个td的值。。 我尝试了这段代码,但它不起作用,警报无法显示(userid)值

html代码:

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

</tr> 

</tbody> 

一些

您的尝试有两个问题,第一个问题是
td
不是
img
元素的前一个同级,它是
img
元素的父元素(
td
)的前一个同级

第二个问题是
td
没有
属性,因此
val()
是错误的方法,相反它有
text()
,因此请尝试使用:

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

参考资料:

  • 在代码
    中,这是
    标记,而不是
    td
    。使用
    closest('td')
    获得距离图像最近的
  • 标记没有值,因此
    val()
    不起作用。使用
    text()
  • 尝试:


    请阅读常见问题解答,然后更正标题和问题。请提供一个有意义的问题,描述您所遇到的问题。@FelipeAlsacreations,虽然我同意问题的结构很糟糕,最初的标题根本没有帮助,但我不认为OP没有把问题说清楚。@DavidThomas by"问题:“我指的是以问号结尾的首字母‘标题’,而不是问题的全部内容。我使用了太多的
    title
    属性,这是我从母语翻译时能想到的第一个意思,对不起that@FelipeAlsacreations,没问题!我为我的假设道歉当然不是jQuery(你会想),因为它总是:
    http://api.jquery.com/ +jquery方法名称+/
    …另一方面,当您第一次开始时,不一定很容易意识到这一点=/@用户1233875:不客气,我很高兴能帮上忙。。。显然,如果你的问题解决了,请考虑一下,大部分帮助了你。
    $(document).ready(function()
        {    
            var $Edit = $("tbody tr.odd td.hvr img");
            $Edit.click(function() {
            var userid = $(this).parent().prev('td').text();
            alert(userid);
            }
            )
       })
    
     $(document).ready(function()
     {    
         var $Edit = $("tbody tr.odd td.hvr img");
         $Edit.click(function() {
             var userid = $(this).closest('td').prev('td').text();
             alert(userid);
             })
     })