2 Stimmen

Verwenden Sie Greasemonkey, um Fettdrucktags zu Daten auf einer Seite hinzuzufügen?

Ich habe ein Greasemonkey-Skript, das ein Div ausdruckt -- funktioniert! Allerdings möchte ich in der Lage sein, fette Tags zu allen Daten in diesem Div hinzuzufügen.

Daten sind im Format MM/DD/YYYY

Also etwas wie:

var regex = '\d{2}\/\d{2}\/\d{4}';

Dann wie würde ich die Suche und Ersetzung durchführen? Wenn das Div loanTable genannt wurde:

Nicht funktionierendes Konzept:

$("#loanTable").html().replace( regex, "" regex "" )

Etwas Ähnliches wie oben sollte funktionieren, aber ich bin mir nicht sicher über die genaue Syntax dafür.

2voto

Brock Adams Punkte 86168

Verwenden Sie eine Regex-Capture-Gruppe:

var loanTable   = $("#loanTable")
var loanHTML    = loanTable.html ().replace (/(\d{2}\/\d{2}\/\d{4})/g, "$1");
loanTable.html (loanHTML);

1voto

elclanrs Punkte 90473

Dieses Stück Code ist kein gültiges JS:

var regex = '\d{2}\/\d{2}\/\d{4}';
$("#loanTable").html().replace( regex, "" regex "" )

Die Syntax für regex ist /regex/, unquotes, oder new Regex('regex') mit Anführungszeichen.

Beginnen Sie damit, den HTML-Code einer Variablen zuzuweisen. Außerdem wird kaum noch verwendet, ist der neue Standard. Dann nimmt replace() einen regex und eine Zeichenfolge oder Funktion als Parameter an. Um mehrfach zu ersetzen, müssen Sie das Flag g verwenden. Schließlich können Sie zur Erreichung Ihres Ziels Ersatztoken verwenden, wie z.B. $1 usw...****

****var re = /\d{2}\/\d{2}\/\d{4}/g; // 'g' Flag für 'global'; var html = $("#loanTable").html();

$("#loanTable").html(html.replace(re, '$&')); // Das `$&`-Token gibt das gesamte Suchergebnis zurück****

1voto

Charlino Punkte 15622

Das letzte Mal, als ich GreaseMonkey benutzt habe, war es nicht einfach, jQuery in Ihren Benutzerskripten zum Laufen zu bringen.

Verwenden Sie den folgenden Code, um es ohne jQuery zu tun:

var loanTable = document.getElementById('loanTable');
loanTable.innerHTML = loanTable.innerHTML.replace(/(\d{1,2}\/\d{1,2}\/\d{4})/g, "$1");

0voto

buley Punkte 26263

Ein kleiner Aspekt davon: Sie müssen Zeichenfolgen mit einem + Operator verknüpfen:

$("#loanTable").html().replace( regex, "" + regex + "" )

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X