Нахождение родительского класса и идентификатора - PullRequest
2 голосов
/ 20 мая 2010

Ну после бесчисленных попыток я не могу получить эту работу?

<script type="text/javascript">
    $("td input").focusout(function() {
      var column = $(this).parent('td').attr('class');
      var row = $(this).parent('tr').attr('id');
      $('#dat').HTML(row+" "+column);
    }); 
</script>

И HTML выглядит так

<tr class="numbers" id="1">
<td class="a" align="right">1</td>
<td class="b"><input class="input" type="text" value=""/></td>
<td class="c"><input class="input" type="text" value=""/></td>

<td class="d"><input class="input" type="text" value=""/></td>
<td class="e"><input class="input" type="text" value=""/></td>
<td class="f">0</td>
<td class="g"><input class="input" type="text" value=""/></td>
</tr>

Может кто-нибудь указать мне правильное направление на то, что может быть неправильно? заранее спасибо

1009 * привет *

Ответы [ 4 ]

2 голосов
/ 20 мая 2010

Обратите внимание, что он должен быть в нижнем регистре

$('#dat').HTML(row+" "+column);

.html

и

$(this).parent('tr')

равно нулю, вход не может иметь родителя TR

в качестве альтернативы этому вы можете использовать

.closest( selector, [ context ] ) функция

0 голосов
/ 20 мая 2010

Вы хотите использовать функцию .parents() вместо .parent().

Причина, по документации, моя подсветка.

Учитывая объект jQuery, который представляет набор элементов DOM, .parent () Метод позволяет нам искать через родители этих элементов в DOM дерево и построить новый объект jQuery из соответствующих элементов. The Методы .parents () и .parent () похоже, только последнее путешествует на один уровень вверх по DOM дерево.

0 голосов
/ 20 мая 2010

Ваш код выглядит по большей части правильным, просто исправьте следующие вещи:

$('#dat').HTML(row+' ' +column);

К этому:

$('#dat').html(row + ' ' + column);

А это:

$(this).parent('tr').attr('id');

К этому:

$(this).parents('tr').attr('id');
0 голосов
/ 20 мая 2010

Попробуйте:

$(this).closest('td').attr('class')

в соответствующем месте в вашем коде. То же самое для ID.

...