Si, uso el metodo "replace". Este es el codigo principal de la funcion (cambie el iframe por un div):
Código:
// compruebo si hay alguna ocurrencia de la cadena
var patron = new RegExp(obj.value, "g");
var inner = document.getElementById("txt").innerHTML;
var cantidad = patron.test(inner);
// si la hay, hago el reemplazo
if (cantidad) {
var match = new RegExp(obj.value, "gi");
var replaced = "";
var boldText = "<span style=\"background-color:yellow; font-weight:bold;\">" + obj.value + "</span>";
replaced = inner.replace(match, boldText);
document.getElementById("txt").innerHTML = replaced;
}