2009-05-31 11 views
1

J'expérimente Jetpack et je voudrais analyser toutes les années dans une page html donnée et ensuite envelopper l'année avec un lien vers la page Wiki. J'ai essayé le code dans jquery et là ça marche mais maintenant je l'utilise dans Jetpack et ça donne une erreur $ (doc) .replace n'est pas une fonction. Je suis définitivement nouveau à Jquery/Jetpack alors peut-être qu'il me manque quelque chose de vraiment facile mais votre aide est très appréciée.Obtenir jQuery pour travailler dans Jetpack

EDIT: J'ai essayé les suggestions mais je suis toujours coincé. La chose étrange est que cette

fonction JQuery fonctionne:

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

et fondamentalement, je voudrais « port » cette fonction à jetpack.

C'est le port non-travail « vieux » de ma fonction JQuery à 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); 
    }); 
    } 

}); 

Répondre

3

Je ne suis pas familier avec jetpack, mais votre jquery semble être tout à fait foiré.

Si "doc" est un document HTML, alors faire $ (doc) .each() n'a pas vraiment de sens. Il ne ferait que boucler une fois, et "ceci" serait le même que doc.

Ensuite, vous faites $ (doc) .replace (regexp, ...), mais replace() n'est pas une fonction jquery. Vous auriez peut-être voulu faire .html(). Replace (regexp, ...); CEPENDANT, je ne recommande pas cela parce que cela ne fonctionnera pas - vous finirez par remplacer n'importe quels nombres dans le document, même s'ils font partie d'une autre URL ou du HTML de la page.

Pour plus d'informations, reportez-vous à cette question ou Google pour les nœuds de texte jquery: Find text string using jQuery?

Questions connexes