2012-02-26 17 views
-2

私がimgにクリックすると、前のTDの値を取得します。 このコードを試しますが、 tは私に(ユーザーID)の値を示してJQueryを使用して要素の前の兄弟の値を取得する^^

$(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> 
+3

よくある質問をしてください読んで、その後、あなたのタイトルとあなたの質問を訂正内のテキストを取得するにはtext()を使用してください。 – markus

+0

問題の内容を説明する意味のある質問を記入してください。 – FelipeAls

+1

@FelipeAlsacreations、私は質問がひどく構成されていて、最初のタイトルで全く助けにならなかったと私は同意しますが、OPが彼の問題を明確にしなかったとは思わない。 –

答えて

4

あなたの試みには二つの問題があり、最初はtdないimgの前の兄弟であるということです要素、私tは、img要素の親(td)要素の前の兄弟です。

第二の問題ではなく、それがtext()を持っているので、使ってみて、そのためval()は間違ったアプローチである、tdvalue属性を持っていないということです。

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

JS Fiddle demo

参考文献:

+0

+1を参照してください。確かにマニュアルページはそれを見つけるのが難しくありません... – Bojangles

+0

確かにjQuery(あなたは思うでしょう)とは必ずしも同じではありません: 'http://api.jquery.com/ + jquery-method-name + /'。あなたが最初に始めているときにそれを実現することは必ずしも容易ではありません。 =/ –

+0

デート^^ 私はそれを試してそれはうまく動作します – user1233875

0
  1. <img>タグ、ないtdです。画像に最も近い<td>を取得するには、closest('td')を使用してください。
  2. <td>タグに値がないため、val()は機能しません。

試してみてください:

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

はいこれです。それはdudde tnksを動作させる^^ – user1233875

関連する問題