2015-02-10 64 views
0

表格單元格的值我已經表如下:獲取與jQuery

<table width="100%" border="0" cellspacing="0" cellpadding="0" class="lanpaizt-tab"> 
       <tr class="lanpaizt-tr1"> 
        <td class="wid70">id</td> 
        <td class="wid150">nickname</td> 
        <td class="wid150">account</td> 
        <td class="wid150">mail</td> 
        <td class="wid100">tel</td> 
        <td>operate</td> 
       </tr> 

       <tr> 
        <td rowspan="2" id="member_id">2</td> 
        <td rowspan="2">lisi</td> 
        <td>dksdkl</td> 
        <td>[email protected]</td> 
        <td rowspan="2">123456</td> 
        <td rowspan="2"> 
         <button class="editbtn"></button> 
         <button class="deletebtn"></button> 
        </td> 
       </tr>   
       <tr> 
        <td>sdlsd</td> 
        <td>[email protected]</td> 
       </tr> 

</table> 

我想獲得細胞,其ID是「member_id」有兩個方面的價值,但失敗:

1 。

$('.deletebtn').click(function(){ 

    var user_id = $(this).closest('#member_id').text() 
    console.log(user_id) 
}) 

2.

$('.deletebtn').click(function(){ 

    var user_id = $(this).closest('tr').siblings('#member_id').text() 
    console.log(user_id) 
}) 

他們都獲得了空值。我的代碼有什麼問題?有沒有其他辦法可以得到它?謝謝。

回答

2

在你的方法的問題是,#member_id是刪除按鈕直接父td的兄弟姐妹。您應該遍歷父元素並找到其兄弟使用:

$('.deletebtn').click(function(){ 

    var user_id = $(this).parent().siblings('#member_id').text() 
    console.log(user_id) 
}); 

此外,ID(應該是)唯一的。你可以簡單地使用使用ID selector.the需要遍歷和發現將被淘汰獲得元素:

var user_id = $('#member_id').text(); 
0

嘗試這樣:

$(this).closest('#member_id').html() 
+0

它不能工作。它只是未定義 – user1179442 2015-02-10 05:59:46

0

ID必須通過唯一出DOM,你應該使用id選擇,沒有必要直接獲得jQuery對象遍歷使用像.find().closest()等方法元素見下文代碼 -

$('.deletebtn').click(function(){ 

    var user_id = $('#member_id').text() 
    console.log(user_id) 
}) 
1

嘗試:http://jsfiddle.net/ouL1p1k9/

$('.deletebtn').click(function(){ 

    var user_id = $(this).closest('tr').find('#member_id').text() 
    alert(user_id) 
}); 

OR

$('.deletebtn').click(function(){ 

     var user_id = $(this).closest('tr').find('td:first-child').text() 
     alert(user_id) 
    }); 
0

這是不是很大,但對於這樣的解決方法如下:

$('.deletebtn').click(function(){ 

     var user_id = $(this).parent().parent().find('#member_id').text(); 
     console.log(user_id) 
}) 

你也可以考慮實際的刪除按鈕設置member_id值:

<button class="deletebtn" id='2'></button> 

然後編碼您的JavaScript處理程序,如下所示:

$('.deletebtn').click(function(){ 

     var user_id = $(this).prop('id'); 
     console.log(user_id) 
}) 

但是,假設你如何處理這個問題並不重要。