我的HTML中的锚点具有onclick
属性,如下所示:
<a href="javascript:void(0);" onclick="javascript:OpenNewWindow('/help_options.asp?ID=23', 350, 250);" class="help_question_mark">?</a>
我正在尝试剥离JavaScript处理程序以获取裸URL并将其支持到href
属性,因此结果将如下所示:
<a href="/help_options.asp?ID=23" class="help_question_mark">?</a>
我认为它很简单,只需写下这样的东西:
$('a.help_question_mark').each(function(){
help_question_mark_link = $(this).attr('onclick').split('javascript:OpenNewWindow(\'').join('').split('\', 350, 250);').join('');
$(this).removeAttr('onclick');
$(this).attr('href',help_question_mark_link);
});
在jQuery 1.1.1中,这似乎有效,但在1.4.2中我没有限制使用。
任何人都可以对此有所了解,我是个腌菜。
这是jsFiddle。
答案 0 :(得分:2)
行。所以经过多次摆弄后,我发现当你调用$(...).attr('onclick')
时,jQuery 1.4.2会返回一个特殊的onclick对象,而不仅仅是一个字符串。
所以我们需要摆脱jQuery使用它:
this.getAttribute('onclick')
而不是:
$(this).attr('onclick')
很奇怪。 请参阅此JSFiddle。
P.S。我通过console.log
$(...).attr('onclick')
返回的值找到了这个。