2016-08-16 5 views
-4

Мне нужен текст Test 2, когда я нажал кнопку «Click». Я пробовал вот так ...Как получить текст следующего td в jQuery?

$("#clicked").click(function(){ 
    alert($('this').closest('td').next('td').next('td').text()); 
}) 

Но в предупреждении пусто. Как я могу получить тест 2?

<tr> 
    <td> </td> 
    <td><a id = 'clicked'>Click</a></td> 
    <td>Test 1</td> 
    <td><a id = 'clicked2' /> Test 2</a></td> 
</tr> 

Из комментария ниже:

this означает $('#clicked'). Это означает, что когда я нажал на ссылку Click.

+0

Что такое $ (это) для вас? – ristapk

+0

Где находится ваш обработчик кликов? Является ли весь ваш сценарий одной строкой? –

+1

$ (this) .parent(). Next(). Next(). Text(); – Riad

ответ

1

вам нужно использовать parent вместо closest:

$("#clicked").click(function(){ 
    text = $(this).parent().next('td').next('td').text(); 
    alert(text); 
}) 

https://jsfiddle.net/g6gnog4h/

+0

* «вам нужно использовать родительский, а не самый близкий» * Почему вы так говорите? Это неправильно. –

0

Попробуйте это, как вам нужно идти родительский тр и чем найти 4-й тд с идентификатором тега, чтобы получить текст.

<table><tr> 
    <td> </td> 
    <td><a id = 'clicked'>Click</a></td> 
    <td>Test 1</td> 
    <td><a id = 'clicked2' /> Test 2</a></td> 
</tr> 
</table> 

<script> 
$('#clicked').click(function(){ 
    alert($(this).parents('tr').children().find('#clicked2').text()); 
}); 
</script> 
-1

Вы можете попробовать так:

$('#clicked').click(function(){ 
    var val=$(this).siblings().text(); 
    alert(val); 
}); 

братьев и сестер() возвращает все соседние элементы выбранного элемента.

1
$('#clicked').click(function(){ 
    console.log($(this).closest('td').next().text()); 
}); 
Смежные вопросы