Esta instrucción funciona. Al hacer clic en el nodo, me sale un mensaje que muestra su ID.

 newnode.setAttribute("onClick", "alert(this.id)"); 

Necesito para pasar el valor de este.id para una función diferente y estoy luchando para conseguir alrededor de él.

Intento 1:

El de abajo no funciona; yo entiendo que no puedo pasar este.id a otra función, que hace la misma cosa, porque este no es relevante para nada dentro de la función de prueba:

newnode.setAttribute("onClick", "test(this.id)"); 

function test(f){
alert(f);
}

Intento 2:

var testvar = newnode.id;
newnode.setAttribute("onClick", "test(testvar)"); 

function test(f){
alert(f);
}

¿Por qué es testvar no reconocida en mi setAttribute línea?

  • Si alert(this.id) funciona, a continuación, test(this.id) funcionará – alert() es sólo una función.
  • Tenga cuidado con las funciones dentro de las cadenas, ya que se desencadena eval allí, lo cual es innecesario el 99% del tiempo.
  • Intente esto: newnode.setAttribute("onClick", test(testvar));
  • También, asignar el evento click como un atributo no es una idea muy buena. Sólo uso addEventListener o el.onclick = fn. Nótese también que la onclick típicamente es todo en minúsculas.
InformationsquelleAutor DVCITIS | 2013-01-06

1 Comentario

Dejar respuesta

Please enter your comment!
Please enter your name here