Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/12/2016, 13:26
mpozo
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 6 meses
Puntos: 86
Respuesta: propiedad no definida??

Claro que está indefinido. Piensas que this en ese contexto se refiere al elemento <p>, pero en realidad, se refiere al objeto window. Para que this sea el elemento <p>, debes pasarselo como parámetro a la función ya que la invocación está en línea o registrar el evento con addEventListener. Todo esto se explica aquí
Código Javascript:
Ver original
  1. <!DOCTYPE html>
  2. <html dir="ltr" lang="es-es">
  3.     <head>
  4.         <title></title>
  5.         <meta charset="utf-8">
  6.         <meta name="viewport" content="user-scalable=yes, width=device-width, initial-scale=1">
  7.         <style>
  8.  
  9.         </style>
  10.         <script>
  11.             function anyadir(elem){
  12.                 console.log(this);
  13.                 console.log(this.parentNode);
  14.                 console.log(elem);
  15.             }
  16.         </script>
  17.     </head>
  18.     <body>
  19.         <p class='url' onclick="anyadir(this)">Pulsa aquí para proceder</p>
  20.         <p class='url2'>Pulsa aquí para proceder 2</p>
  21.  
  22.         <script>
  23.             document.querySelector('.url2').addEventListener('click', anyadir, false);
  24.         </script>
  25.     </body>
  26. </html>