Pregunta

estoy experimentando con Jetpack y me gustaría analizar todos los años en una página HTML dada y luego envolver el año con un enlace a la página wiki. He probado el código en jQuery y no funciona, pero ahora lo estoy usando en Jetpack y da un error $ (doc) .replace no es una función. Definitivamente soy nuevo en Jquery / Jetpack así que tal vez me estoy perdiendo algo muy fácil, pero su ayuda es muy apreciada.

EDIT: He tratado las sugerencias, pero no lo consigo. Lo extraño es que este

Función de jQuery funciona:

(function($) {
    $.fn.clickUrl = function() {  
            var regexp = /([1-2][0-9][0-9][0-9])/gi;
            this.each(function() {
            $(this).html(
                  $(this).html().replace(regexp,'<ahref=\"http://nl.wikipedia.org/wiki/$1\">$1<\/a>')
            );
        });
    return $(this);
    }
})(jQuery);

y, básicamente, me gustaría 'puerto' esta función para jetpack.

Este es el 'viejo' puerto no trabaja de mi función de jQuery para Jetpack:

jetpack.statusBar.append({  
    html: "Hyperlink Years",  
    width: 80,  
    onReady: function(widget){  
        $(widget).click(function(){  
        var regexp = /([1-2][0-9][0-9][0-9])/gi;
        var doc = jetpack.tabs.focused.contentDocument;
            $(doc).each(function() {
            $(this).html(
                    $(doc).replace(regexp,'<a href=\"http://nl.wikipedia.org/wiki/$1\">$1<\/a>'));
            });
       return $(doc); 
     });  
   }  

});
¿Fue útil?

Solución

No estoy familiarizado con el jetpack, pero su jQuery parece ser bastante mal estado.

Si "doc" es un documento HTML, a continuación, haciendo $ each (doc) () realmente no tiene sentido. Sería solamente bucle de una vez, y "este" sería el mismo que el doc.

Luego, más tarde que está haciendo .replace $ (doc) (expresión regular, ...), pero replace () no es una función jQuery. Es posible que haya querido hacer .html () reemplazará (expresión regular, ...).; Sin embargo, yo no recomiendo hacer esto porque no va a funcionar -. Que acaba de terminar la sustitución de cualquier número en el documento, incluso si son parte de otro URL o el código HTML de la página

Para obtener más información, se refieren a esta pregunta o Google para los nodos de texto jQuery: Encuentra cadena de texto usando jQuery?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top