>>380
まんまだけど、>>381はこういう事。

function replaceTextNodeWithHtml(textNode, regExp, repHtml){
    if(regExp.test(textNode.nodeValue)){
        var box = document.createElement('div');
        box.innerHTML = textNode.nodeValue.replace(regExp, repHtml);
        var newNode = document.createDocumentFragment();
        for(var i = 0; i < box.childNodes.length; i++) newNode.appendChild(box.childNodes[i].cloneNode(true));
        textNode.parentNode.replaceChild(newNode, textNode);
    }
}

function getTextNodes(node){
    var result = [];
    var nodes = document.evaluate('.//text()', node, null, 7, null);
    for(var i = 0; i < nodes.snapshotLength; i++) result.push(nodes.snapshotItem(i));
    return result;
}

//Firefoxというテキストを<blink>タグ点滅させる。
getTextNodes(document).forEach(function(node){
    replaceTextNodeWithHtml(node, /(Firefox)/g, '<blink>$1</blink>');
});