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); 
     });  
   }  

});
Foi útil?

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?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top