Pregunta

usando Mozilla Jetpack, cuando hago el siguiente código .. entiendo que la vinculación no está definida !!! por qué ? o cómo solucionarlo?

var links = doc.querySelectorAll('#courses_menu > ul > li > a'); 
var linkz=links[1].href.split("?");

var i = 0;
for (i=0;i<=4;i++)
{
   var linking= links[i]; 
}
jetpack.notifications.show(" "+ linking); 
¿Fue útil?

Solución

Debido a que se sale del ámbito cuando los extremos de bucle.

Por lo que debe tener

var linking;
for (i=0;i<=4;i++)
{
   linking= links[i]; 
}

Pero, además, ¿qué estás tratando de hacer aquí? Sobrescribe la vinculación de cuatro veces. ¿Quieres mostrar todos los enlaces? Si es así, puede concatenar ellos como:

var linking = "";
for (i=0;i<=4;i++)
{
   linking = linking + links[i] + " "; 
}

Editar: los comentaristas tienen razón; Me he olvidado que no hay ningún bloque de alcance en Javascript. ¿Esto soluciona el código? No me puedo imaginar que lo hizo. La única otra cosa que puedo pensar es que links[4] no está definido, y luego se asigna a undefined linking.

De todos modos, no puedo eliminar este porque ha sido aceptada, pero si alguien se le ocurre una respuesta sea más útil, no dude en inaceptables desde éste.

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