Pregunta

¿Cómo puedo recuperar la llamada JavaScript en la etiqueta de anclaje a continuación en JS o jQuery? Básicamente quiero obtener el código ( "javascript: do_my_function ( 'bla', 'cadena1', 1);") recuperé para que pueda ejecutarlo. Este anclaje está incrustado varios de profundidad en algunas etiquetas div también.

<a onmouseout="swapImage('btn1','','http://img2.comp.com/img/buttons/btn_g.png',1)" onmousedown="swapImage('btn1','','http://img2.comp.com/img/buttons/btn_g_d.png',1)" onmouseover="swapImage('btn1','','http://img2.comp.com/img/buttons/btn_g_a.png',1)" href="javascript:do_my_function('blah', 'string1', 1);">
<img id="btn1" width="180" height="60" alt="" src="http://img2.comp.com/img/buttons/btn_ge.png"/>
</a>
¿Fue útil?

Solución

Para recuperarlo sólo tiene que utilizar:

 var href = document.getElementById('btn1').parentNode.href;

Eso sólo encuentra el img por id, y agarra su matriz, la etiqueta a en cuestión.

Para llamarlo, puede utilizar:

 window.location = href;

O se podría analizar y eval() ella. Todo esto es muy poco convencional por cierto. ¿No tiene ningún control adicional sobre el código?

Otros consejos

Para hacerlo con jQuery se puede hacer

var jscript = $('#btn1').parent().attr('href');
eval(jscript);

Esto no es una forma recomendada de hacer las cosas. Cambiar el html sería mucho mejor

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