Forum Doku Wiki Blog

Forumsarchiv 2006, April
Zellen von Tabellen hervorheben (aufgrund von Inhalt)

archivierte Beiträge lesen

  1. (JAVASCRIPT) Zellen von Tabellen hervorheben (aufgrund von Inhalt) von Torsten Zängel, 11. 04. 2006, 12:52

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 12:52 Uhr von Torsten Zängel veröffentlicht.

Hallo Forum-Teilnehmer,
ich möchte eine HTML-Tabelle mit einigen Formatierungen besser kenntlich machen:

Ist-Zustand: siehe http://www.ff-niedermuelsen.de, Punkt "Dienstplan"
- Textfarbe:                     FFFFFF
- Hintergrundfarbe:              FF0000
- onMouseOver, Hintergrundfarbe: 0000FF
- in einer Spalte ist ein Datum nach Format DD.MM.YYYY (Tabelle ist ein Dienstplan)

Soll-Zustand:
- wenn aktuelles Datum größer als Datumswert in Tabelle, dann Textfarbe für Zeile: FF0000
- wenn aktuelles Datum kleiner oder gleich dem Datumswert in Tabelle, dann Hintergrundfarbe für Zeile: 00FF00, aber nur die nächste Zeile

Ziel:
- der aktuelle bzw. nächste Termin soll grün hervorgehoben werden, veraltete Termine sollen quasi verschwinden, ohne dass sie wirklich gelöscht werden
- onMouseOver nicht mehr unbedingt erforderlich

Es wäre schön, wenn mir da jemand helfen könnte.
mfg,
Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 13:03 Uhr von Cybaer veröffentlicht.

Hi,

> Es wäre schön, wenn mir da jemand helfen könnte.

Ich sehe aber keine konkrete Frage. =:-o

Wert auslesen, Datum vergleichen, wenn alt: TR via parentNode ausblenden, wenn neu: TR via parentNode grün färben.

Wo ist das Problem?


Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 14:31 Uhr von Torsten Zängel veröffentlicht.

> Hi,
> ...
> Wo ist das Problem?
>
>
> Gruß, Cybaer
>

Hallo Cybaer,
das auslesen aus der Tabelle (wie spreche ich die Zelle an und wie kriege ich den Inhalt raus) und vergleichen mit dem aktuellen Datum stellt das Problem dar

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 14:45 Uhr von Cybaer veröffentlicht.

Hi,

> das auslesen aus der Tabelle (wie spreche ich die Zelle an und wie kriege ich den Inhalt raus) und vergleichen mit dem aktuellen Datum stellt das Problem dar

*Das* ist doch schon mal konkret. :)

Z.B. mit getElementsByTagName("tr") hast Du eine Collection aller Reihen - analog geht das mit den Zellen). Du kannst also in einer Schleife alle Reihen durchgehen, und darin dann gezielt z.B. die n. Zelle ansprechen. Um also die 4. Zelle der 1. Reihe auszulesen, lautet der Code:

row1col4Inhalt=document.getElementsByTagName("tr")[0].getElementsByTagName("td")[3].innerHTML;

Extrahier daraus (substring(), indexOf()) das Datum, wandel es um in einen Timestamp und vergleich es mit dem aktuellen Timestamp (date()).

Und wenn alt: document.getElementsByTagName("tr")[0].style.display="none";
Und wenn aktuell: document.getElementsByTagName("tr")[0].style.backgroundColor="green"

Infos über die Benutzung s. Quickbar


Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 14:55 Uhr von Torsten Zängel veröffentlicht.

> Hi,
> ...
> row1col4Inhalt=document.getElementsByTagName("tr")[0].getElementsByTagName("td")[3].innerHTML;
>
> Extrahier daraus (substring(), indexOf()) das Datum, wandel es um in einen Timestamp und vergleich es mit dem aktuellen Timestamp (date()).
> ...
> Gruß, Cybaer
>
Hallo Cybaer,
dank dir dafür. Jetzt muss ich nur noch wissen, wie man einen String in ein Timestamp umwandelt.

mfg, Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 15:10 Uhr von eddi veröffentlicht.

Hallo,

// Du erhälst ja (str) row1col4Inhalt
var d=row1col4Inhalt.split('.')
var z=new Date();
var t=new Date();

z.setDate(d[0]);
z.setMonth(d[1]);
z.setFullYear(d[2]);

if(z.getTime() < t.getTime()){
   // blende aus
}



Gruß aus Berlin!
eddi

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 15:36 Uhr von Cybaer veröffentlicht.

Hi,

> z.setDate(d[0]);

Vorsicht: Menschliche Datumsangaben fangen bei 1 an, die Tage & Monate der Date-Methoden zählen aber schon ab 0! =;-)


Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 15:43 Uhr von eddi veröffentlicht.

Hallo,


> > z.setDate(d[0]);
>
> Vorsicht: Menschliche Datumsangaben fangen bei 1 an, die Tage & Monate der Date-Methoden zählen aber schon ab 0! =;-)

...Achten Sie darauf, dass Sie sinnvolle Werte zwischen 1 und 31 übergeben...


Du immer mit Deinen dusligen Smilies :þ


Gruß aus Berlin!
eddi

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 15:54 Uhr von Cybaer veröffentlicht.

Hi,

> ...Achten Sie darauf, dass Sie sinnvolle Werte zwischen 1 und 31 übergeben...

Oops, ja, habe setDate() mit setDay() verwechselt. =:-o

Aber: Du verwendest auch setMonth() - und da gilt das gleiche wie bei setDay(): Es beginnt bei 0! :)

War also trotzdem falsch. =;-)


> Du immer mit Deinen dusligen Smilies :þ

Wie meinen? >;-o


Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 16:01 Uhr von eddi veröffentlicht.

Re:

> War also trotzdem falsch. =;-)

Okay:
var d=row1col4Inhalt.split('.')
var z=new Date();
var t=new Date();

z.setDate(d[0]);
z.setMonth(d[1]-1);
z.setFullYear(d[2]);

if(z.getTime() < t.getTime()){
   // blende aus
}



> > Du immer mit Deinen dusligen Smilies :þ
>
> Wie meinen? >;-o

Bügelfalten auf der Stirn sind nicht sehr attraktiv *g*


Gruß aus Berlin!
eddi

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 18:05 Uhr von Torsten Zängel veröffentlicht.

> if(z.getTime() < t.getTime()){
>    // blende aus
> ...
> Gruß aus Berlin!
> eddi
»»
Hallo Eddi,
ich habe jetzt das ganze mal versucht zu codieren.
Dabei tritt folgender Fehler auf:

Laufzeitfehler: 'document.getElementsByTagName(...)[...]' ist Null oder kein Objekt

Woran liegt das ???
Hier mal der Quellcode des Scripts:


<script type="text/javascript">
for(var i=0;i<25;i++)
  {     //laut Fehlermeldung geginnt der Fehler hier
   var Inhalt=document.getElementsByTagName("tr")[i].getElementsByTagName("td")[1].innerHTML;
        var datum_tabelle=Inhalt.split('.');
   var datum_wert_tabelle=new Date();
   var aktuelles_datum=new Date();
   datum_wert_tabelle.setDate(datum_tabelle[0]);
   datum_wert_tabelle.setMonth(datum_tabelle[1]-1);
   datum_wert_tabelle.setYear(datum_tabelle[2]);
   alert("Bis hier geht's");
  }
</script>


mfg, Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 18:31 Uhr von eddi veröffentlicht.

Hallo,


zunächst einmal muß Deine for-Schleife bei 1 beginnen, da document.getElementsByTagName('tr')[0] folgenden Inhalt hat:

  <td height=17 width=73 style='height:12.75pt;width:55pt'>
            <p align="center"><b><u>Wochentag</u></b></td>
  <td width=71 style='width:53pt'>
            <p align="center"><b><u>Datum</u></b></td>
  <td width=395 style='width:296pt'>
            <p align="center"><b><u>Thema</u></b></td>

  <td width=80 style='width:60pt'>
            <p align="center"><b><u>Beginn</u></b></td>
  <td width=80 style='width:60pt'>
            <p align="center"><b><u>Ende</u></b></td>


Desweiteren ergibt document.getElementsByTagName("tr")[i].getElementsByTagName("td")[1].innerHTML '<p align="center">23.01.2006'. Also entferne also bitte das Element <p> und sorge dafür, daß keinerlei Leerraum innerhalb der Tabellenzelle ist.

Zur Fehlermeldung kann ich nichts sagen, da mein Mozilla an der JavaScriptkonsole nichts auszusetzen hat.

Gruß aus Berlin!
eddi

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 19:00 Uhr von Torsten Zängel veröffentlicht.

> Hallo,
>
> zunächst einmal muß Deine for-Schleife bei 1 beginnen, da document.getElementsByTagName('tr')[0] folgenden Inhalt hat:
> ...
Nö, da die Zeile mit den Überschriften jetzt als "th" formatiert ist.
> Desweiteren ergibt document.getElementsByTagName("tr")[i].getElementsByTagName("td")[1].innerHTML '<p align="center">23.01.2006'. Also entferne also bitte das Element <p> und sorge dafür, daß keinerlei Leerraum innerhalb der Tabellenzelle ist.
>
Hab ich gemacht. Du glaubst nicht, wie viele Leerräume bei so nem WYSIWYG-Programm auftauchen.
> Zur Fehlermeldung kann ich nichts sagen, da mein Mozilla an der JavaScriptkonsole nichts auszusetzen hat.
>
> Gruß aus Berlin!
> eddi
>
Der Fehler besteht aber weiter.

mfg, Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 20:37 Uhr von JürgenB veröffentlicht.

Hallo Torsten Zängel,

> Der Fehler besteht aber weiter.

mir fallen 2 mögliche Fehler ein:

Du greifst auf eine Tabellenzeile zu, die kein TD enthält, sondern nur TH.

Dein Script steht im HEAD-Bereich oder im HTML vor der Tabelle und läuft daher, wenn es die Tabelle noch garnicht gibt. Stecke das Script in eine Funktion und rufe diese dann im body mit onload auf.

Gruß, Jürgen

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 12:47 Uhr von Torsten Zängel veröffentlicht.

Hallo Jürgen,
> mir fallen 2 mögliche Fehler ein:
>
> Du greifst auf eine Tabellenzeile zu, die kein TD enthält, sondern nur TH.
1. Deshalb greife ich ja auch direkt in die zweite Zeile, da die Schleife ja bei 1 und nicht bei 0 beginnt.
>
> Dein Script steht im HEAD-Bereich oder im HTML vor der Tabelle und läuft daher, wenn es die Tabelle noch garnicht gibt. Stecke das Script in eine Funktion und rufe diese dann im body mit onload auf.
2. Ich habe jetzt ein paar Veränderungen durchgeführt, die u.a. das Script erst fahren, wenn ich einen Textlink betätige. Der Fehler bleibt aber bestehen. Meiner Meinung nach liegt der Fehler in der Eigenschaft ".innerHTML", denn sobald ich die weglasse, ist es kein Laufzeitfehler mehr, sondern ein "undefined"-Fehler
>
> Gruß, Jürgen
mfg, Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 10:55 Uhr von Cybaer veröffentlicht.

Hi,

> Laufzeitfehler: 'document.getElementsByTagName(...)[...]' ist Null oder kein Objekt

Du kannst (und solltest!) jedesmal vor dem Zugriff abfragen, ob es überhaupt etwas abzufragen gibt.

Also z.B.:

trData=document.getElementsByTagName("tr")[i];
if(trData.getElementsByTagName("td") && trData.getElementsByTagName("td").length>=2) {
 // Zugriff auf die Reihe möglich, da sie mindestens 2 TDs enthält
}



> for(var i=0;i<25;i++)

Ach hier kann man mit length arbeiten: i<document.getElementsByTagName("tr").length


Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 12:37 Uhr von Torsten Zängel veröffentlicht.

> Hi,
>
> > Laufzeitfehler: 'document.getElementsByTagName(...)[...]' ist Null oder kein Objekt
>
> Du kannst (und solltest!) jedesmal vor dem Zugriff abfragen, ob es überhaupt etwas abzufragen gibt.
>
> Also z.B.:
>
> trData=document.getElementsByTagName("tr")[i];
> if(trData.getElementsByTagName("td") && trData.getElementsByTagName("td").length>=2) {
> // Zugriff auf die Reihe möglich, da sie mindestens 2 TDs enthält
> }
>
>
>
> > for(var i=0;i<25;i++)
>
> Ach hier kann man mit length arbeiten: i<document.getElementsByTagName("tr").length
>
>
> Gruß, Cybaer
>
Danke Cybaer,
aber das Problem scheint ganz wo anders zu liegen.
Ich habe jetzt den Zeilen und Spalten Namen vergeben (name-Objekt) und greife mit "getElementsByName("Datum")[i]" die Datumsspalte direkt an. Es scheint zu funktionieren, wenn ich die Eigenschaft "innerHTML" weglasse. Dann kommt nämlich kein Laufzeitfehler mehr, sondern, dass das Objekt nicht definiert sei. Die Offline-Version von SELFHTML sagt dazu, dass der IE einen Laufzeitfehler bringt, wenn direkt beim Seitenaufbau das Script durchlaufen wird. Deshalb habe ich jetzt eine Funktion mit Link-Aufruf draus gemacht, aber sobald ich ".innerHTML" drin stehen habe bringt er wieder den Laufzeitfehler, dann halt erst, wenn ich die Funktion auslöse.

mfg, Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 12:46 Uhr von Cybaer veröffentlicht.

Hi,

> Ich habe jetzt den Zeilen und Spalten Namen vergeben (name-Objekt) und greife mit "getElementsByName("Datum")[i]" die Datumsspalte direkt an.

Da TRs und TDs gar kein NAME-Attribut haben dürfen, kannst Du auch die Abfrage von selbigem gleich wieder vergessen. Nimm ID für den Direktzugriff, oder eine sonstige Kennung, die dann wieder in einer Schleife abzufragen ist.


Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 13:12 Uhr von Torsten Zängel veröffentlicht.

Hi,
> Hi,
> Nimm ID für den Direktzugriff, oder eine sonstige Kennung, die dann wieder in einer Schleife abzufragen ist.
Hab ich getan, der Fehler bleibt, wo er ist -> in der innerHTML-Eigenschaft
>
>
> Gruß, Cybaer
>
mfg, Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 13:23 Uhr von Cybaer veröffentlicht.

Hi,

> > Nimm ID für den Direktzugriff, oder eine sonstige Kennung, die dann wieder in einer Schleife abzufragen ist.
> Hab ich getan, der Fehler bleibt, wo er ist -> in der innerHTML-Eigenschaft

Da diese also solche keinen Fehler haben kann, wird er wohl woanders liegen. ;)

Was sagt die JavaScript-Konsole von Mozilla?


Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 13:35 Uhr von Torsten Zängel veröffentlicht.

> Hi,
>
> > > Nimm ID für den Direktzugriff, oder eine sonstige Kennung, die dann wieder in einer Schleife abzufragen ist.
> > Hab ich getan, der Fehler bleibt, wo er ist -> in der innerHTML-Eigenschaft
>
> Da diese also solche keinen Fehler haben kann, wird er wohl woanders liegen. ;)
>
> Was sagt die JavaScript-Konsole von Mozilla?
>
>
> Gruß, Cybaer
>
Sorry, ich nutze den IE. Der sagt, dass da, wenn "innerHTML" drinsteht, ein Laufzeit-, sonst ein undefined-Fehler besteht.

mfg, Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 13:39 Uhr von Cybaer veröffentlicht.

Hi,

> Sorry, ich nutze den IE. Der sagt, dass da, wenn "innerHTML" drinsteht, ein Laufzeit-, sonst ein undefined-Fehler besteht.

Was deer sagt, ist reichlich dürftig. Deswegen der Hinweis auf Mozilla.

Zumal ohne gezeigten Code, ist das sonst genauso, als wenn ein Blinder im Nebel umherstolpert ...


Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 13:58 Uhr von Torsten Zängel veröffentlicht.

> Hi,
>
> > Sorry, ich nutze den IE. Der sagt, dass da, wenn "innerHTML" drinsteht, ein Laufzeit-, sonst ein undefined-Fehler besteht.
>
> Was deer sagt, ist reichlich dürftig. Deswegen der Hinweis auf Mozilla.
>
> Zumal ohne gezeigten Code, ist das sonst genauso, als wenn ein Blinder im Nebel umherstolpert ...
>
>
> Gruß, Cybaer
>
Sorry,
ich wollte den ganzen Quelltext mal posten, das Forum macht aber net mit.
Schätze, ich werde den Quelltext mal auf meine HP hochladen und zum DL anbieten müssen.

So, hier ist er: http://www.torsten-zaengel.de/progs/dienstplan1.zip
mfg,
Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 13. 04. 2006, 22:54 Uhr von at veröffentlicht.

Hallo.

> Zumal ohne gezeigten Code, ist das sonst genauso, als wenn ein Blinder im Nebel umherstolpert ...

... der dann ebenso viel sieht wie ein Blinder bei klarem Himmel oder ein Normalsichtiger im Nebel?
MfG, at

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 13:45 Uhr von Torsten Zängel veröffentlicht.

> Hi,
> ...
> Da diese also solche keinen Fehler haben kann, wird er wohl woanders liegen. ;)
>
>
> Gruß, Cybaer
»»
Hallo Cybaer,

der Fehler liegt irgendwo hier (der Rest ist im Moment auskommentiert)


alert(document.getElementById("Datum")[i].innerHTML);


Wenn ich ".innerHTML" weglasse, ist "document.getElementById("Datum")[i]" undefined, wenn ich es ranschreibe, kommt der Laufzeitfehler

mfg, Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 14:19 Uhr von MudGuard veröffentlicht.

Hi,

>
> alert(document.getElementById("Datum")[i].innerHTML);
>


Da ids dokumentweit eindeutig sein müssen, liefert getElementById nie mehr als 1 Element, niemals eine Collection. Einen Index darauf anzuwenden,ist also sinnlos.

cu,
Andreas
--
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 14:52 Uhr von Torsten Zängel veröffentlicht.

> Hi,
>
> >
> > alert(document.getElementById("Datum")[i].innerHTML);
> >

>
> Da ids dokumentweit eindeutig sein müssen, liefert getElementById nie mehr als 1 Element, niemals eine Collection. Einen Index darauf anzuwenden,ist also sinnlos.
>
> cu,
> Andreas

ES GEHT, ES GEHT, ES GEHT, ES GEHT, ES GEHT, ES GEHT, ES GEHT

Ich weiss jetzt nicht genau, was ich gemacht habe, aber es funzt jetzt. Hier nochmal die Funktion zum Nachmeiseln:

function dpaktuell()
{
for(var i=1;i<document.getElementsByTagName("tr").length;i++)
  {
   trData=document.getElementsByTagName("tr")[i];
        if(trData.getElementsByTagName("td") && trData.getElementsByTagName("td").length>=2)
 {
        var Inhalt=document.getElementsByTagName("tr")[i].getElementsByTagName("td")[1].innerHTML;
        var d=Inhalt.split('.');
   var z=new Date(d[2], d[1]-1, d[0]);
   var t=new Date();
   if(z < t)
  {
  document.getElementsByTagName("tr")[i].style.display="none";
  }
 else
  {
  document.getElementsByTagName("tr")[i].style.textcolor="black";
  document.getElementsByTagName("tr")[i].style.backgroundColor="lightgreen";
  }
 }
  }
}

Vielen Dank an alle, die mir geholfen haben.

mfg, Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 22:11 Uhr von MudGuard veröffentlicht.

Hi,

> Okay:
> var d=row1col4Inhalt.split('.')
> var z=new Date();
> var t=new Date();
>
> z.setDate(d[0]);
> z.setMonth(d[1]-1);
> z.setFullYear(d[2]);
>


Daß das nicht ganz stimmt, ist Dir aber hoffentlich klar ...

Führe den Code heute aus mit dem Eingabestring "31.07.2006" und laß Dir am Ende das Datum ausgeben.
Es kommt nicht der 31. Juli raus, sondern der 1. Juli.

Warum?
Ganz einfach:

> var z=new Date();

Das Datum ist jetzt der 11. April 2006

> z.setDate(d[0]);

Der Tag wird auf 31 gesetzt, also 31. April 2006. Gibt es nicht, der April hat ja nur 30 Tage, es kommt zum Überlauf, Javascript macht den 1. Mai draus.

> z.setMonth(d[1]-1);

Jetzt wird der Monat auf 6 (also Juli) gesetzt.

z ist jetzt also der 1. Juli 2006

Ähnlicher Effekt kann dann auch noch mit dem Jahr auftreten, wenn z.B. der 29. Februar betroffen ist.

Besser:
z = new Date(d[2], d[1]-1, d[0]);
Hier werden die Werte gleichzeitig in ein neues Date-Object eingesetzt.

cu,
Andreas
--
Warum nennt sich Andreas hier MudGuard?
Schreinerei Waechter
O o ostern ...
Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 12:24 Uhr von Torsten Zängel veröffentlicht.

> Hi,
>
> Daß das nicht ganz stimmt, ist Dir aber hoffentlich klar ...
> ...
> Besser:
> z = new Date(d[2], d[1]-1, d[0]);
>
> cu,
> Andreas

Danke, Andreas

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 10:48 Uhr von Cybaer veröffentlicht.

Hi,

> Bügelfalten auf der Stirn sind nicht sehr attraktiv *g*

Das relativiert sich mit dem Alter! >;->


Gruß, Cy-"ich bevorzuge 'Lachfältchen'"-baer ;)

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 13. 04. 2006, 22:59 Uhr von at veröffentlicht.

Hallo.

> > Bügelfalten auf der Stirn sind nicht sehr attraktiv *g*
>
> Das relativiert sich mit dem Alter! >;->

Aber erst ab einer bügeleisensohlengroßen Stirn.
MfG, at

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 15:38 Uhr von Cybaer veröffentlicht.

Hi,

> dank dir dafür. Jetzt muss ich nur noch wissen, wie man einen String in ein Timestamp umwandelt.

Neben eddis Variante (dabei muß der Inhalt z.B. "30.6.2006" sein - bei Tagen & Monaten muß dann noch 1 abgezogen werden): Beo den Methoden von Date() findest Du auch das schöne parse()! Damit kannst Du einen Datumsstring zusammenbasteln und umwandeln.


Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 17:23 Uhr von Ashura veröffentlicht.

Hallo Cybaer.

> Z.B. mit getElementsByTagName("tr") hast Du eine Collection aller Reihen - analog geht das mit den Zellen).

Die armen rows und cells fühlen sich richtig vernachlässigt …


Einen schönen Dienstag noch.

Gruß, Ashura

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
„It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
[HTML Design Constraints: Logical Markup]

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 10:44 Uhr von Cybaer veröffentlicht.

Hi,

> Die armen rows und cells fühlen sich richtig vernachlässigt …

Ich weiß - bin aber keine Ersatzmutter! ;)


Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 13:06 Uhr von dey veröffentlicht.

Hallo,

woraus generiert sich die Tabelle:
- Handeingabe oder
- Script (welches)

bydey
--
-- bydey ist die Signatur und Verabschiedung, nicht der Nick --

-- Navigate all your PHP web projects with  PHP Project Browser--

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 13:27 Uhr von Cybaer veröffentlicht.

Hi,

> woraus generiert sich die Tabelle:
> - Handeingabe oder
> - Script (welches)

Wenn man das mit JavaScript lösen möchte (was ich durchaus auch als nicht unsinnig erachte), spielt das allerdings überhaupt keine Rolle. =:-)


Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 13:31 Uhr von dey veröffentlicht.

Hallo,


> Wenn man das mit JavaScript lösen möchte (was ich durchaus auch als nicht unsinnig erachte), spielt das allerdings überhaupt keine Rolle. =:-)

Vielleicht war JS aber auch die erste, aber nicht beste Lösung!?
Z.B. PHP:
- Werte vergleichen
- und bei echo "<td>....." gleich eine entsprechende Klasse mitgeben

Wäre für mich (zumindest) vom Ansatz her einfacher, als deine Lösung. Was alllerdings an meiner persönlichen JS-inkompatibilität liegt.

bydey
--
-- bydey ist die Signatur und Verabschiedung, nicht der Nick --

-- Navigate all your PHP web projects with  PHP Project Browser--

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 14:27 Uhr von Torsten Zängel veröffentlicht.

> Hallo,
> Vielleicht war JS aber auch die erste, aber nicht beste Lösung!?
> Z.B. PHP:
> - Werte vergleichen
> - und bei echo "<td>....." gleich eine entsprechende Klasse mitgeben
> ...
> bydey

Hallo Dey,
PHP wird von meinem Hoster in meinem aktuellen Paket nicht unterstützt.

mfg, Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 11. 04. 2006, 14:23 Uhr von Torsten Zängel veröffentlicht.

> Hallo,
>
> woraus generiert sich die Tabelle:
> - Handeingabe oder
> - Script (welches)
>
> bydey
Hallo bydey,
das ist eine handgenerierte Tabelle

mfg, Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 12. 04. 2006, 14:56 Uhr von Torsten Zängel veröffentlicht.

> Hallo Forum-Teilnehmer,
> ich möchte eine HTML-Tabelle mit einigen Formatierungen besser kenntlich machen:
> ...
>
> Es wäre schön, wenn mir da jemand helfen könnte.
> mfg,
> Torsten

ES GEHT, ES GEHT, ES GEHT, ES GEHT, ES GEHT, ES GEHT, ES GEHT

Ich weiss jetzt nicht genau, was ich gemacht habe, aber es funzt jetzt. Hier nochmal die Funktion zum Nachmeiseln:

function dpaktuell()
{
for(var i=1;i<document.getElementsByTagName("tr").length;i++)
  {
   trData=document.getElementsByTagName("tr")[i];
        if(trData.getElementsByTagName("td") && trData.getElementsByTagName("td").length>=2)
 {
        var Inhalt=document.getElementsByTagName("tr")[i].getElementsByTagName("td")[1].innerHTML;
        var d=Inhalt.split('.');
   var z=new Date(d[2], d[1]-1, d[0]);
   var t=new Date();
   if(z < t)
  {
  document.getElementsByTagName("tr")[i].style.display="none";
  }
 else
  {
  document.getElementsByTagName("tr")[i].style.textcolor="black";
  document.getElementsByTagName("tr")[i].style.backgroundColor="lightgreen";
  }
 }
  }
}

Vielen Dank an alle, die mir geholfen haben.

mfg, Torsten

Zellen von Tabellen hervorheben (aufgrund von Inhalt)

Der folgende Beitrag wurde am 13. 04. 2006, 09:01 Uhr von Cybaer veröffentlicht.

Hi,

> Ich weiss jetzt nicht genau, was ich gemacht habe, aber es funzt jetzt. Hier nochmal die Funktion zum Nachmeiseln:

BTW: Nach der Zeile

 trData=document.getElementsByTagName("tr")[i];

kannst/solltest Du alle nachfolgenden document.getElementsByTagName("tr")[i] durch trData ersetzen - das ist dann vielleicht übersichtlicher. Also z.B.

 var Inhalt=trData.getElementsByTagName("td")[1].innerHTML;

oder

 trData.style.display="none";

etc.


Gruß, Cybaer

--
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4