2014-04-15 48 views
0

我有一個基本的HTML表格,每行都有一個按鈕。 通過點擊按鈕,我想在同一TR中提醒來自第二個TD的文本。jQuery:最接近/父母不工作

出於某種原因,以下不起作用,並且不返回任何內容或null(取決於我是否嘗試.text()或.html())。父母而不是最接近失敗。 有人能告訴我我在做什麼錯嗎? (我的表具有ID 「myTable的」 和所有的TR處於TBODY,如果需要的話。)

例TR:

<tr><td style="width:30%"><strong>Row 1:</strong></td><td id="fldRow1" style="width:60%">test text</td><td><button type="button" id="copyRow1" onclick="copyOutput()">Copy</button></td></tr> 

JS功能:

function copyOutput() { 
    var output = $(this).closest('tr').find('td:eq(1)').text(); 
    alert(output); 
} 

非常感謝任何幫助,蒂姆。

+1

由於您使用的是jQuery,您爲什麼要使用內聯事件? – epascarello

+0

謝謝。我能否僅使用JavaScript來實現這一點?在這種情況下,我確實需要內聯事件。 – user2571510

+0

那麼jQuery是JavaScript,所以你只使用JavaScript。在這種情況下,你不需要內聯事件。 – epascarello

回答

2

this在你的代碼中沒有引用它指向窗口對象的當前元素。

HTML

變化

onclick="copyOutput()" 

onclick="copyOutput(this)" //pass refer of the current element 


JS

function copyOutput(el) { //el get current element clicked 
    var output = $(el).closest('tr').find('td:eq(1)').text(); 
    alert(output); 
} 
+1

完美 - 有效!感謝您的快速幫助。我會盡快接受。 – user2571510

+0

@ user2571510很高興幫助。 –