2014-02-23 114 views
0

所以我有一個表格,每行有三個td,每個元素都有一個類; 「TD1」,「TD2」和「TD3」,td3<span>裏面充當這樣一個鏈接:通過點擊元素後面的元素來獲得元素的innerHTML

<table> 
    <tr> 
    <td class="td1">This is td number 1 in row 1</td> 
    <td class="td2">This is td number 2 in row 1</td> 
    <td class="td3">This is td number 3 in row 1<span class="clickMeLink">Click me</span></td> 
    </tr> 
    <tr> 
    <td class="td1">This is td number 1 in row 2</td> 
    <td class="td2">This is td number 2 in row 2</td> 
    <td class="td3">This is td number 3 in row 2<span class="clickMeLink">Click me</span></td> 
    </tr> 
</table> 

    $('.clickMeLink').on('click', function() { 

    }); 

有我得到的td2的innerHTML是beofore點擊的方式<span>。 因此,如果我在第1行中單擊<span>,我會得到第1行中的td2的innerHTML。我想將生成的innerHTML存儲在可用於其他函數的變量中。

我希望這是有道理的。

由於

回答

1

Fiddle Demo

$('.clickMeLink').click(function() { 
    var txt = $(this).parent().prev().html(); 
//     ^parent of current element and than gets it's previous td 
    alert(txt); 
}); 

this keyword

.prev()

.parent()

+0

太棒了,那是針對正確的事! 但我可以在另一個函數中使用這個變量嗎? – Selo

+0

@ user3088863是的,你可以想要什麼? –

+0

@ user3088863 - 你必須讓變量'txt'具有更高的範圍。你可以通過在$('。clickMeLink')。click()'之外定義變量來完成這個操作,但是在該函數內部設置該值。 –

0
$('.clickMeLink').on('click', function(){ 
    $yourtd = $(this).parents('tr').find('.td2'); 
    console.log($yourtd); 
})