Erste jQuery in Jetpack arbeiten
-
06-09-2019 - |
Frage
ich mit Jetpack am Experimentieren und ich würde alle Jahre in einer bestimmten HTML-Seite analysieren mag und dann das Jahr mit einem Link auf die Wiki-Seite wickeln. Ich habe versucht, den Code in jquery und dort funktioniert es aber jetzt habe ich es in Jetpack verwenden und es gibt einen Fehler $ (doc) .replace keine Funktion ist. Ich bin auf jeden Fall neu auf JQuery / Jetpack so vielleicht ich etwas wirklich einfach bin fehlt aber Ihre Hilfe ist sehr willkommen.
EDIT: Ich habe die Vorschläge versucht, aber ich bin immer noch stecken. Das Seltsame ist, dass diese
JQuery-Funktion funktioniert:
(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);
und im Grunde, würde Ich mag diese Funktion ‚Port‘ Jetpack.
Dies ist der ‚alte‘ Nicht-Arbeitsanschluss meiner JQuery-Funktion 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);
});
}
});
Lösung
Ich bin mit Jetpack nicht vertraut, aber Ihre jquery scheint ziemlich verkorkste zu werden.
Wenn "doc" ist ein HTML-Dokument, dann $ (doc) .each tun () nicht wirklich Sinn machen. Es wäre nur Schleife einmal, und „dies“ würde die gleiche wie doc sein.
Dann später tun Sie $ (doc) .replace (regexp, ...), aber ersetzen () ist kein jquery Funktion. Vielleicht haben Sie wollten tun .html () ersetzen (regexp, ...). Aber ich tue dies nicht empfehlen, weil es nicht funktioniert -. Sie werden einfach alle Zahlen in dem Dokument am Ende zu ersetzen, auch wenn sie Teil eines anderen URL oder der HTML-Code der Seite ist
Weitere Informationen zu dieser Frage finden oder für jquery Textknoten google: finden Textfolge jQuery?