El prototype sólo sirve para objetos de javascript definidos (creo, corregidme si me equivoco). Así que tendrás que definir tu objTabla (que no nos lo has puesto) y meter dentro de su definición ese método.
He creado un objTabla a mi gusto con las filas y columnas pasadas por argumento, y el contenido de las celdas son palabras del lorem ipsum.
Luego buscamos dentro de la tabla la palabra "ipsum" para marcarla de rojo:
Código PHP:
<script>
var palabras="Lorem ipsum dolor sit amet consectetuer adipiscing elit Ut ligula mi iaculis ut pharetra tempus";
palabras=palabras.toLowerCase().split(" ");
function palabraAlAzar() {
return palabras[ Math.round(Math.random()*palabras.length) ];
}
function objTabla(filas,columnas) {
var t=document.createElement("TABLE");
t.setAttribute("border","1");
for(var fila=1; fila<=filas; fila++) {
var fil=document.createElement("TR");
for(var col=1; col<=columnas; col++) {
var colum=document.createElement("TD");
colum.appendChild( document.createTextNode( palabraAlAzar() ) );
fil.appendChild(colum);
}
t.appendChild(fil);
}
document.body.appendChild(t);
t.marcar=function(texto){
var expReg = new RegExp( texto , "g" );
this.innerHTML = this.innerHTML.replace( expReg, '<font color="#990000">'+texto+'</font>');
}
return t;
}
</script>
<script>
var t=new objTabla(5,10);
t.marcar("ipsum");
</script>
Fíjate en la correcta manera de implementar las funciones regulares, con la funcion
RegExp. Puedes añadirle los \b, que se los he quitado. Además cuando trabajas con métodos lo que tienes que hacer es no pasar el objeto por argumento, el objeto es
this, directamente.
Un saludo.