Ich habe eine Log-Datei, die wie folgt auf die Seite geladen aussieht:
23-06-2013, 15:04 - Action no.11
-Ip adress ::1
23-06-2013, 15:04 - Error no.21
-Ip adress ::1
und ich möchte die Farbe dieser Aktion ändern.11 und Fehler Nr. 21 mit jquery (hoffe es ist möglich). Aktion sollte eine Farbe (z. B. grün) und Fehler sollte ein anderer sein (z. B. rot). Es wird aus der .log-Datei geladen, so dass es keine Tags wie. Also ich denke, es sollte nach Wort "Action" oder "Fehler" suchen und die Farbe ändern. Danke für Ratschläge
Antworten:
2 für die Antwort № 1- Fügen Sie Ihr Protokoll ein
.log
zum Beispiel zu<pre>
(es wird schöner, wenn JS deaktiviert ist):
HTML:
<pre class="log">23-06-2013, 15:04 - Action no.11
-Ip adress ::1
23-06-2013, 15:04 - Error no.21
-Ip adress ::1</pre>
- Split-Linien zu Array
- klar
.log
- Schleifenlinien
- wrap Text in jQuery-Objekt
- Anhängen
.log
- Überprüfen Sie, ob die Zeile enthält
Action
oderError
- Farbe ändern
jQuery:
var lines = $(".log").text().split("n");
$(".log").empty();
$.each(lines, function() {
var $this = $("<div>"+this+"</div>");
$(".log").append($this);
if( $this.text().match("Action") ) {
$this.css("color", "green");
}
else if( $this.text().match("Error") ) {
$this.css("color", "red");
}
});
0 für die Antwort № 2
Das ist ein bisschen wie Syntax-Hervorhebung
function makeSpan(match){
var color;
if(match.match("Error")){
color = "red";
}
else{
color = "green";
}
return "<span style="color:"+color+"">"+ match +"</span>";
}
var body = $("body");
var newBody = body.html().replace(/(Action.+)|(Error.+)/g,makeSpan);
body.html(newBody);