Conseguir jQuery para trabajar en Jetpack
-
06-09-2019 - |
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);
});
}
});
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?