用 jquery 更改锚 href

change anchor href with jquery

我需要使用特定 href 遍历页面上的所有锚点,并使用 jquery 替换 href 内容。

我需要这个:

<a onfocus="OnLink(this)" href='javascript:CoreInvoke("MtgNavigate","20131211");' target="_self"><u>12/11/2013</u></a>

将替换为:

<a onfocus="OnLink(this)" href='javascript:MtgNavigate("20131211");' target="_self"><u>12/11/2013</u></a>

基本上,我想用 MtgNavigate 替换 CoreInvoke 并删除 MtgNavigate 作为参数。

每个 link 虽然在原始 link 的第二个参数中会有不同的数字。我有什么想法可以做到这一点吗?

使用 jquery 会是这样的:

$('a').each(function(){
    var href=$(this).attr('href');
    if(href.indexOf('javascript:CoreInvoke')==0)
        $(this).attr('href','javascript:' + href.substring(href.indexOf('("')+2, href.indexOf('","')) + '(' + href.substring(href.indexOf('","')+2));
});

勾选这个fiddle

$(document).ready(function(){
    $("a").each(function(){
        var token = $(this).attr("href");
        token = token.substring(token.indexOf(',"')+2, token.indexOf('")'));
        $(this).attr("href","javascript:MtgNavigate(\""+token+"\");");
    });
});

fiddle 将在页面就绪时执行。如果您需要在任何事件之后执行此操作,则意味着创建一个函数并在事件执行时触发。