Obtendo jQuery para trabalhar em Jetpack
-
06-09-2019 - |
Pergunta
Eu estou experimentando com Jetpack e eu gostaria de analisar todos os anos em uma determinada página html e em seguida, enrole o ano com um link para a página Wiki. Eu tentei o código em jQuery e ali ele funciona, mas agora eu estou usando-o em Jetpack e ele dá um erro $ (doc) .replace não é uma função. Eu sou definitivamente novo para jQuery / Jetpack então talvez eu estou faltando alguma coisa realmente fácil, mas sua ajuda é muito apreciada.
EDIT: Eu tentei as sugestões, mas eu ainda estou preso. A coisa estranha é que este
JQuery função 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);
e, basicamente, eu gostaria de 'porto' esta função para Jetpack.
Esta é a porta 'velho' não-trabalho da minha função 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);
});
}
});
Solução
Eu não estou familiarizado com o jetpack, mas o seu jQuery parece ser bastante confuso.
Se "doc" é um documento HTML, em seguida, fazendo .each $ (doc) () realmente não faz sentido. Ele só iria circuito uma vez, e "isto" seria o mesmo que doc.
Então, mais tarde você está fazendo $ (doc) .replace (regexp, ...), mas replace () não é uma função jquery. Você pode ter queria fazer .html () replace (regexp, ...).; No entanto, eu não recomendo fazer isso, porque não vai funcionar -. Você só vai acabar substituindo quaisquer números no documento, mesmo se eles são parte de outro URL ou o HTML da página
Para obter mais informações, consulte esta pergunta ou google para nós de texto jquery: Localizar string de texto usando jQuery?