2014-02-23 2 views
0

그래서 몇 줄의 테이블이 있습니다. 각 tr에는 각각 3 개의 td가 있습니다.그 뒤에 오는 다른 요소를 클릭하여 요소의 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() { 

    }); 

이 나를 클릭 된 beofore입니다 td2의 innerHTML을 얻을 수있는 방법이다 "TD1", "TD2"와 "TD3"td3이 같은 링크로 역할을 그 내부에 <span>가있다 <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); 
}) 
관련 문제