Per JS alle Farben der <tr id="irgend_nrx"> ändern
Sebastian
- javascript
0 Cheatah
Hi,
hab versucht möglichst meine Frage schon im Betreff zu formulieren, aber natürlich noch einmal ausführlich. ;)
Ist es möglich in einer Seite alle bgcolors der <tr>´s zu ändern in dem eine id mit irgendwas_ (danach irgend eine Zahl) anfängt?
Also:
<tr bgcolor="white" id="irgendwas_0">
<td>...</td>
</tr>
<tr bgcolor="white" id="irgendwas_1">
<td>...</td>
</tr>
<tr bgcolor="white" id="irgendwas_2">
<td>...</td>
</tr>
<tr bgcolor="white" id="irgendwas_3">
<td>...</td>
</tr>
Dann z.B. per:
<a href="javascript:alle_farben('#000000')">Farben ändern</a>
Hab nen wenig mit:
function tester() {
anzeige = "";
doc = document.getElementsByTagName('tr');
for(i=0;i<doc.length;i++) {
anzeige += doc[i];
}
alert(anzeige);
}
onload = tester;
rumgespielt, hat mich aber leider überhaupt nicht weiter gebracht.
Könnt ihr mir vielleicht mit nem Ansatz weiter helfen?
Grüsse, Sebastian
Hi,
Ist es möglich in einer Seite alle bgcolors der <tr>´s zu ändern in dem eine id mit irgendwas_ (danach irgend eine Zahl) anfängt?
eine ID, unabhängig davon, in welchem System man sie definiert, enthält _niemals_ irgendeine Semantik. "irgendwas_0" und "irgendwas_1" sind sich also exakt so nahe, wie es bei "blablub" und "foobar" der Fall ist: Es existiert nicht der Hauch einer Spur des Schattens eines Zusammenhangs.
function tester() {
anzeige = "";
doc = document.getElementsByTagName('tr');
Dies könntest Du, je nach Deiner HTML-Struktur, eventuell von einem <table>-Element mit definierter ID abhängig machen. Das würde Dir ggf. Fehltreffer sparen.
Cheatah
Danke für Deine Antwort.
Es existiert nicht der Hauch einer Spur des Schattens eines Zusammenhangs.
Dachte per RegEx die es ja auch in JS gibt, könnte man da was machen. Aber die Idee mit der <table id=""> gefällt mir besser :)
Kannst Du mir sagen warum das z.B. nicht funktioniert?
<html><head><title>Test</title>
<script type="text/javascript">
<!--
function tester() {
document.getElementsByTagName('table').style.backgroundColor ="#000000";
}
onload = tester;
//-->
</script>
</head><body>
<table cellspacing="2" cellpadding="2" border="0">
<tr>
<td>v</td>
<td>v</td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
</body></html>
Grüsse, Sebastian
Hallo Sebastian,
document.getElementsByTagName('table').style.backgroundColor ="#000000";
getElementsByTagName liefert einen Array von Objekten zurück, kein Objekt. An Deiner Stelle würde ich der entsprechenden Tabelle aber eine ID geben und getElementById verwenden.
Christian
Hi Christian,
danke für Deine Antwort.
Nun gehts :)
<html><head><title>Test</title>
<script type="text/javascript">
<!--
function tester() {
doc = document.getElementById('test').getElementsByTagName("tr");
for(i=0;i<doc.length;i++) {
doc[i].style.backgroundColor ="#000000";
}
}
onload = tester;
//-->
</script>
</head><body>
<table cellspacing="2" cellpadding="2" border="0" id="test">
<tr>
<td>v</td>
<td>v</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
</tr>
</table>
</body></html>