Prüfen ob Text vorhanden
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
ansetzen
ansprechen
antwort
code
dank
ergebnis
forum
frage
gefunden code
gefunden text
gesuchter text
http
jemand
steige
tante
test
text
tun
url
vorhanden code
-
Hallo,
ich bräuchte mal einen Denkanstoß da ich in Sachen JS noch nicht ganz so bewandert bin.
Folgendes möchte ich tun:
Ich möchte prüfen ob ein bestimmter Text im Quellcode vorhanden ist.
Der Text wird in einem DIV ausgegeben. Also könnte man ja rein Theoretisch prüfen ob die der Divname vorhanden ist.
Da würde ich so ansetzen.
if ($('div#divname')) { var aktiv = an; // variable möchte ich später ausgeben } else { var aktiv = aus; }
Nun hat das Div aber leider keinen Namen. Darum weiß ich nicht wie ich da ansetzen soll.
So sieht das Div aus.
<div align="center"><strong>gesuchter text</strong></div>
Kann mir jemand sagen wie ich prüfen kann ob der gesuchte Text vorhanden ist, ähnlich der if abfragen auf den divnamen?
Ich stehe da auf dem Schlauch.
Tante Edit:
Sorry gerade erste gesehen.
Threads und Postings die in diesem Forum eröffnet/gepostet werden, sollen:
> ausschliesslich mit Java und NICHT mit JavaScript zu tun haben!
vieleicht könnte das mal jemand verschieben wenn´s hier falsch ist.
zur Fragestellung:
hab jetzt folgendes gemacht
var contentstring = document.body.parentNode.innerHTML var suchstring = /(gesuchter text)/g; var suchergebnis = suchstring.test( contentstring ); if (suchergebnis != false) alert('gesuchter text gefunden!');
Das geht soweit auch super. Allerdings möchte ich nun wenn der Text gefunden wurde das er mir eine variable erzeugt
zb.
var text = gefunden // text ist da
var text = nicht gefunden // text halt nicht vorhanden
ich bekomme das aber einfach nicht in eine if abfrage. Das Script wird immer beendet.
bin über jeden Tip dankbar ;)
Gruß
Beitrag zuletzt geändert: 1.6.2012 13:38:42 von aff3m1tw4ff3 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hey, erstmal: Das hier ist das Java-Forum, du wärst im HTML, JS, etc... richtig.
zu deiner Frage: ich hab folgendes gefunden:
checkIboxContent = function() { var e = document.getElementById('ibox_content'); if (e.innerHTML.length != 0) { return true; } else { return false; } }
war zu finden unter dieser URL mit einer Google-Suche!
Viele Grüße, Nico
Edit:
oder so, ist nen bisschen kompakter:
if (document.getElementById("dein div")).innerHTML == '"') { //was du machen willst }
Beitrag zuletzt geändert: 1.6.2012 13:40:09 von nicoa -
Danke für die Antwort. Hatte das mit dem Falschen Forum schon gesehen. (siehe Tante Edit oben)
Zur Antwort. Ich weiß halt nicht wie ich das div ansprechen soll. es hat weder classe noch namen. zusätzlich gibt es noch andere div dieser art die immer vorhanden sind.
hatte oben gerade unter edit meinen derzeitigen ansatz geschieben.
var contentstring = document.body.parentNode.innerHTML var suchstring = /(gesuchter text)/g; var suchergebnis = suchstring.test( contentstring ); if (suchergebnis != false) alert('gesuchter text gefunden!!');
Das geht super. allerdings möchte ich halt eine varibale als ergebnis.
var text = gefunden // text ist da var text = nicht gefunden // text halt nicht vorhanden
da hänge ich nun wieder fest.
gruß marco
Beitrag zuletzt geändert: 1.6.2012 13:44:58 von aff3m1tw4ff3 -
aff3m1tw4ff3 schrieb:
...
var contentstring = document.body.parentNode.innerHTML var suchstring = /(gesuchter text)/g; var suchergebnis = suchstring.test( contentstring ); if (suchergebnis != false) alert('gesuchter text gefunden!!');
Das geht super. allerdings möchte ich halt eine varibale als ergebnis.
var text = gefunden // text ist da var text = nicht gefunden // text halt nicht vorhanden
da hänge ich nun wieder fest.
gruß marco
wie wärs, wenn du einfach das alert durch die variablendeklaration ersetzt?
var contentstring = document.body.parentNode.innerHTML var suchstring = /(gesuchter text)/g; var text = nicht gefunden //wenn die if-schleife nicht greift var suchergebnis = suchstring.test( contentstring ); if (suchergebnis != false){ var text = gefunden; }
-
Oh man. Hab die Lösung. Wie Simpel es doch ist.
Für alle die hier mal hergoogeln. Ich hab die Varibale einfach nicht in die ' ' gesetzt.
var contentstring = document.body.parentNode.innerHTML var suchstring = /(gesuchter text)/g; var suchergebnis = suchstring.test( contentstring ); if (suchergebnis != false) var text= 'on'; else var text= 'off';
Edit. Danke Nico. Ich hatte da den totalen denkfehler drin.
Beitrag zuletzt geändert: 1.6.2012 13:50:41 von aff3m1tw4ff3 -
Oh, stimmt, ist mir auch nicht aufgefallen. Keine Ursache, immer wieder gerne.
Was mir grade auffällt, du könntest auch einfach ne Boolean nehmen, die du dann auf false oder true setzt, dann kannst du später auch einfach überprüfen per if(text) . Lg -
Hab da mal noch ne Frage zu.
Wie erweitere ich das Ganze, wenn ich den Quelltext von einer anderen Seite prüfen möchte?
In einem Request würde ich das so machen:
/*GM_xmlhttpRequest({ method: 'GET', url: link+'/fight/', onload: function(responseDetails) { varibalen bla bla}
Das müsste Quasi in den Code oben integreiert werden.
-
Also ich sehe, du nutzt jQuery, dann nutz es auch
jQuery bietet genau für das einen Selector, siehe hier: http://api.jquery.com/contains-selector/ Und um des Beispiel herranzuziehen:
$("div:contains('John')").css("text-decoration", "underline");
Du kannst also direkt nur die div ansprechen, welche den Text enthält. Wenn es mehrere sind, empfehle ich dann noch des each: http://api.jquery.com/each/, also:
$("div:contains('hi there')").each( function() { $(this).css("text-decoration", "underline") });
Sollte an sich funktionieren.
Liebe Grüße -
Auch Dir danke für die Antwort. Da muss ich aber leider gestehen das ich da nicht ganz hinter steige. Was wohl auch an mangelnden englischen Kenntnissen liegt. Das erschwert das nachlesen enorm :)
Das oben läuft super, ich werde das wohl erst mal nutzen.
Wenn ich nun noch dahinter steige wie ich den Source einer anderen Seite so anspreche dann bin ich glücklich.
var contentstring = document.body.parentNode.innerHTML
Da spreche ich ja den aktuellen Content an.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage