2010-07-15 9 views
13

que tienen una página con el siguiente código:Javascript: conseguir actuales contenidos "clic" del elemento

<a id="test" href="someurl" onclick="somefunction">link</a> 

Necesito leer realmente los datos 'onclick'. Como tal, me gustaría algo en el sentido de

alert(document.getElementById('test').onClick) 

Lamentablemente, devuelve undefined. ¿Qué debo hacer para obtener somefunction?

Respuesta

23

Suponiendo que la etiqueta está bien formada, se puede obtener el atributo de una etiqueta a través de Element.getAttribute.

document.getElementById('test').getAttribute('onclick') 
// -> "somefunction" 

Esperemos que no están utilizando onclick para algún propósito sin escrúpulos como el almacenamiento de datos.

2

Usted debe tratar:

document.getElementById('test').onclick 
+0

¿Ha tenido esta vez ha trabajado? No lo creo .. –

+0

Esto no responde la pregunta. El acceso a la propiedad 'onclick' de un elemento simplemente devolverá una referencia a la función asociada al controlador de eventos click, no a los datos" onclick ", como solicitó el OP. Por favor considere eliminar ya que es completamente incorrecto. – royhowie

+0

Esto realmente funciona. – didierc

-1

Usted puede utilizar Javascript en etiqueta de anclaje como:

<script type="text/javascript"> 

    function testClick(id) 
    { 
    alert(id); 
    } 

</script> 

<a href="#" id="test" onclick="testclick(this.id);">Click</a> 
+4

esto no tiene nada que ver con la pregunta ... Estoy tratando de acceder a lo que ya está EN la etiqueta de anclaje, es decir, en su ejemplo, ¿qué podría escribir que devolvería "testclick (this.id)" – Mala

+2

Considere eliminar esta respuesta ya que no tiene nada que ver con la pregunta formulada. – royhowie

Cuestiones relacionadas