用javascript替换.onclick属性中的文本

时间:2013-11-28 16:28:35

标签: javascript replace

现在我找到了一种工作方法,如:

alink.onclick = function(){eval(alink.onclick.toString().replace("textToFind", "TextToReplaceWith"));}

但我想知道是否有更直接的方法来做到这一点

1 个答案:

答案 0 :(得分:0)

这应该是你需要的。使用jQuery你可以轻松地做到这一点,但看起来你想要JS,所以你在这里。

window.onload = function () {
    var links = document.links;
    for (var i = 0; i < links.length; i++) {
        addEvent(links[i], 'click', action);
    }

    function action(evt) {
        var e = evt || window.event;
        if (e.preventDefault) e.preventDefault(); // REMOVE IF YOU WANT THE LINK TO CONTINUE ON ITS PATH
        var link = (e.currentTarget) ? e.currentTarget : e.srcElement;
        link.innerHTML.replace(/textToFind/, 'replacementText');
    }
    var addEvent = function (element, myEvent, fnc) {
        return ((element.attachEvent) ? element.attachEvent('on' + myEvent, fnc) : element.addEventListener(myEvent, fnc, false));
    };
};