Domanda

Come faccio a recuperare la chiamata javascript nel tag di ancoraggio di seguito in JS o JQuery? Fondamentalmente voglio ottenere il codice ( "javascript: do_my_function ( 'blah', 'string1', 1);") recuperato così posso eseguirlo. Questo ancoraggio è incorporato diverse profondità in alcuni tag div pure.

<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>
È stato utile?

Soluzione

Per recuperarlo basta usare:

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

Che appena trova il img da id, e afferra suo genitore, il tag a in questione.

Per chiamare, è possibile utilizzare:

 window.location = href;

In alternativa è possibile analizzarlo e eval() esso. Tutto questo è altamente non convenzionale per la via. Non avete qualsiasi ulteriore controllo sul codice?

Altri suggerimenti

Per farlo con jQuery si può fare

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

Questo non è un metodo consigliato per fare le cose. Modifica il codice HTML sarebbe molto meglio

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top