Pergunta

Como eu poderia recuperar a chamada javascript na tag âncora abaixo no JS ou JQuery? Basicamente eu quero obter o código ( "javascript: do_my_function ( 'blá', 'string1', 1);") recuperado para que eu possa executá-lo. Esta âncora é incorporado vários profunda em algumas tags div também.

<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>
Foi útil?

Solução

Para recuperá-la basta usar:

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

Isso só encontra o img por id, e agarra seu pai, o tag a em questão.

Para chamá-lo, você pode usar:

 window.location = href;

Ou você poderia analisá-lo e eval()-lo. Tudo isso é muito pouco convencional pelo caminho. Você não tem qualquer outro controle sobre o código?

Outras dicas

Para fazê-lo com jQuery você pode fazer

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

Esta não é uma maneira recomendada para fazer as coisas. Alterar o html seria muito melhor

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top