Estoy intentando mostrar un cuadro de texto cuando se hace clic en un elemento de la clase numObj. Por algún motivo, obtengo NaNNaNaNaNNaNNaNaNaN, donde espero ver el resultado de la variable searchForm en el siguiente código.Obtengo NaN cuando intento insertar algo de HTML en un elemento DIV con jQuery
Sé que NaN significa Not a Number. Lo que no entiendo es por qué está esperando Javascript un número? No puedo entender por qué le importa.
$(".numObj").live('click',function(){
var preId = $(this).attr('preId');
var arrayPos = $(this).attr('numArrayPos');
alert(preId +" "+arrayPos);
var searchForm = "<table border='0' cellspacing='0' cellpadding='4' id='add-tag2'>"+
+"<tr class='normal'><td bgcolor='#EEEEEE' valign='bottom' nowrap='nowrap'><span class='normal-small'>"+
+"<input name='predicate-name2' type='text' class='normal' id='predicate-name2' size='4' />"+
+"</span></td>"+
+"<td bgcolor='#EEEEEE' valign='bottom' nowrap='nowrap'><span class='normal-small'><=</span></td>"+
+"<td bgcolor='#EEEEEE' valign='bottom' nowrap='nowrap'>x</td>"+
+"<td valign='bottom' bgcolor='#EEEEEE'><=</td>"+
+"<td valign='bottom' bgcolor='#EEEEEE'><span class='normal-small'>"+
+"<input type='text' name='object-object2' id='object-object2' class='normal' size='4' />"+
+"</span></td>"+
+"</tr>"+
+"</table>";
$(".numObj").filter("[preId='"+preId+"']").filter("[numArrayPos='"+arrayPos+"']").html(searchForm);
});
El código generado que tiene la clase numObj ve algo como esto
<td><div class="numObj" preid="73" numarraypos="5"><span class="normal">585.0</span></div></td>
su atributo numArrayPos tiene diferentes opciones en su JS y HTML. ¿Esto es un error? Si no, tendrás problemas para acceder al atributo. – scunliffe
¿Por qué no haces una depuración? El var searchForm tiene múltiples signos '+' uno al lado del otro. – Kangkan
@Kangkan - ¿Qué recomiendas para depurar javascript? Este es un gran problema que tengo. – Ankur