Pregunta

Bueno, después de innumerables intentos no puedo conseguir este trabajo?

<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>

y las miradas del HTML como este:

<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>

me puede punto cualquiera a la dirección correcta en lo que podría estar mal?

¿Fue útil?

Solución

Tenga en cuenta que debe estar en minúsculas

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

.html

y

$(this).parent('tr')

es nulo, la entrada no puede tener un padre TR

Como alternativa a esto, puede utilizar

.closest( selector, [ context ] ) función

Otros consejos

Trate:

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

en el lugar adecuado en el código. Lo mismo para identificación.

Sus miradas código correcto en su mayor parte, acaba de arreglar estas cosas:

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

A esto:

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

Y esto:

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

A esto:

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

Usted desea utilizar la función .parents() en lugar de la .parent().

La razón, a partir de la documentación, mi resaltado.

Dado un objeto jQuery que representa un conjunto de elementos DOM, la .parent () método nos permite buscar a través de la los padres de estos elementos en el DOM árbol y construir un nuevo objeto jQuery de los elementos coincidentes. La .parents () y .parent () métodos son similar, excepto que el último sólo viaja a un solo nivel hasta el DOM árbol.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top