Извлеките код JavaScript из тега, используя js или jQuery.
-
11-09-2019 - |
Вопрос
Как мне получить вызов JavaScript в теге привязки ниже в JS или JQuery?По сути, я хочу получить код («javascript:do_my_function('blah', 'string1', 1);»), чтобы я мог его выполнить.Этот якорь также встроен в некоторые теги div на несколько глубин.
<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>
Решение
Чтобы получить его, просто используйте:
var href = document.getElementById('btn1').parentNode.href;
Это просто находит img
по идентификатору и захватывает его родителя, a
рассматриваемый тег.
Чтобы вызвать его, вы можете использовать:
window.location = href;
Или вы могли бы проанализировать его и eval()
это.Все это, кстати, весьма необычно.У вас нет дальнейшего контроля над кодом?
Другие советы
Чтобы сделать это с помощью jQuery, вы можете сделать
var jscript = $('#btn1').parent().attr('href');
eval(jscript);
Это не рекомендуемый способ действий.Изменение html было бы намного лучше
Не связан с StackOverflow