Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Obtener valor de un elemento por onClick()

Estas en el tema de Obtener valor de un elemento por onClick() en el foro de Javascript en Foros del Web. Hola, tengo el siguiente elemento Código HTML: <div class= "operando" onclick= "addNumero()" > 4 </div> Y el siguietne javascript @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver ...
  #1 (permalink)  
Antiguo 13/10/2016, 05:19
 
Fecha de Ingreso: febrero-2014
Mensajes: 60
Antigüedad: 10 años, 1 mes
Puntos: 0
Obtener valor de un elemento por onClick()

Hola, tengo el siguiente elemento

Código HTML:
<div class="operando" onclick="addNumero()">4</div> 
Y el siguietne javascript

Código Javascript:
Ver original
  1. function addNumero(){
  2.             alert(this.value); 
  3.         }

Resulta que en el alert() me aparece el mensaje de "undefined", en vez del valor del elemento (4)

Alguien sabe que ocurre para que me salga "undefined"?
  #2 (permalink)  
Antiguo 13/10/2016, 06:30
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 4 meses
Puntos: 86
Respuesta: Obtener valor de un elemento por onClick()

Para accesar al contenido del bloque puedes usar textContent, innerHTML o innerText. Pero nunca al atributo value. Un bloque no posé el atributo value y por lo tanto ni asigna, ni obtiene valor. Por otro lado, en el contexto en que usas la palabra reservada this, esta hace referencia al [URL="https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Operadores/this"]objeto global (window)[/URL]. Para que no haga referencia al objeto global, has de pasarsela a la función como parámetro

Aquí puedes ver todo lo explicado de una manera practica
Código Javascript:
Ver original
  1. <div class="operando" onclick="addNumero(this)">4</div>
  2.  
  3.       function addNumero(_this){
  4.             console.log(this); // objeto global
  5.             console.log(_this.value); // undefined
  6.             console.log(_this.textContent); // 4
  7.             console.log(_this.innerHTML); // 4
  8.             console.log(_this.innerText); // 4
  9.  
  10.             _this.value = 5;
  11.             console.log(_this.textContent); // 4
  12.  
  13.             _this.textContent = 6;
  14.             console.log(_this.textContent); // 6
  15.         }
  #3 (permalink)  
Antiguo 13/10/2016, 08:40
 
Fecha de Ingreso: febrero-2014
Mensajes: 60
Antigüedad: 10 años, 1 mes
Puntos: 0
Respuesta: Obtener valor de un elemento por onClick()

Muchas gracias!!

+1 (Y)

Etiquetas: elemento, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:58.