2011-08-10 89 views
0

我有一個禁止的IP表。第一列包含IP,第二列包含時間戳和第三個操作鏈接。我想在鏈接上單擊「刪除禁令」時發出ajax呼叫。爲此,我需要第一列的IP地址。但不知何故,這是行不通的。 這裏是代碼(您可以檢查它jsfiddle.netjQuery代碼上​​不工作

<tr> 
    <td class="ip">192.168.1.1</td> 
    <td class="centered">August 10, 2011</td> 
    <td class="right action_td"> 
     <a class="action ban remove" href="javascript://">Remove Ban</a> 
    </td> 
</tr> 

(這只是一個<tr>刪除表中的其他要素。)

的JS:

$(".action.ban.remove").live('click', function(){ // remove ban 
    ip = $(this).parent("td.right").siblings("td.ip").html(); 
    alert(ip); 
}); 

相反的192.168.1.1,它提示「null」。我做錯了嗎?

感謝和問候, Abhisek

更新沒關係,我想通了這個問題。我附加了另一個處理程序,它正在創建問題。我愚蠢。 : - \

+0

@Abhishek:你確定HTML很好地形成,即正確表關閉標籤等?檢查這個jsfiddle帖子:http://jsfiddle.net/9xdpy/第一個鏈接工作,但不是第二個(因爲HTML元素不正確) – Chandu

回答

2

將其更改爲:

ip = $(this).parent().siblings("td.ip").text(); 

http://jsfiddle.net/sRRn9/

+0

不工作:-( – abhisek

+0

它工作,如果你用'table'包裝它,標籤,正如@Joseph指出的:http://jsfiddle.net/sRRn9/ – Mrchief

+0

工作。有另一個處理程序附加到它。: - \ – abhisek

1

試試這個

$(".remove").live('click', function(){ // remove ban 
    ip = $(this).parent("td.right").siblings("td.ip").html(); 
    alert(ip); 
}); 

工作demo

+0

首先,它不工作。其次,我有更多的錨定標籤與'行動'類,但是這個是通過'remove'來標識的,我想在這種情況下,我可以使用'$('。remove')',如果這樣的話。 – abhisek

+0

是的,你可以使用remove類。 – ShankarSangoli

2

只是需要一個表格元素來包裝錶行。請參閱here

+0

我_do_有一個表標籤包裹在代碼中,'table'裏面還有幾個'tr's(爲了簡單起見,把它們刪除了),我也有'thead'標籤,是否是罪魁禍首? – abhisek

+0

+1。 – Mrchief