Ändern eines CSS Attributes für mehrere Elemente
Hallo,
am besten fang ich gleich mal an zu erklären worum es geht.
Ich habe eine Website mit vollständig geladenen und formatierten Daten welche ich teilweise durch display: none; ausblenden lassen
Es gibt dann pro Datensatz eine Überschrift womit ich den darunterliegenden Datensatz einblenden lassen kann.
Es gehören also jeweils 2 Teile zu einem Datensatz.
Nun soll aber beim Klick auf einen 2. Button alle versteckten Elemente angezeigt werden und beim 3. Button nur alle Elemente die ein bestimmtes Kriterium erfüllen.
Die ausgeblendeten Abschnitte haben alle eine feste eindeutige ID, die class ist ebenfalls festgelegt der Name kann jedoch beliebig sein.
Mit diesem Code lasse ich die betreffenden stellen ein und ausblenden.
function div_show_hide(id) {
/* alert(document.getElementById(id).style.display == "block") */
if (document.getElementById(id).style.display == "block")
{
document.getElementById(id).style.display = "none";
}
else
{
document.getElementById(id).style.display = "block";
}
}
am besten fang ich gleich mal an zu erklären worum es geht.
Ich habe eine Website mit vollständig geladenen und formatierten Daten welche ich teilweise durch display: none; ausblenden lassen
Es gibt dann pro Datensatz eine Überschrift womit ich den darunterliegenden Datensatz einblenden lassen kann.
Es gehören also jeweils 2 Teile zu einem Datensatz.
Nun soll aber beim Klick auf einen 2. Button alle versteckten Elemente angezeigt werden und beim 3. Button nur alle Elemente die ein bestimmtes Kriterium erfüllen.
Die ausgeblendeten Abschnitte haben alle eine feste eindeutige ID, die class ist ebenfalls festgelegt der Name kann jedoch beliebig sein.
Mit diesem Code lasse ich die betreffenden stellen ein und ausblenden.
function div_show_hide(id) {
/* alert(document.getElementById(id).style.display == "block") */
if (document.getElementById(id).style.display == "block")
{
document.getElementById(id).style.display = "none";
}
else
{
document.getElementById(id).style.display = "block";
}
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 159294
Url: https://administrator.de/contentid/159294
Ausgedruckt am: 20.11.2024 um 17:11 Uhr
3 Kommentare
Neuester Kommentar
ich spare mir mal den Kommentar über Glaskugeln und Wahrsagerei - aber woran kann man die entsprechenden Elemente erkennen im HTML Code ?
... jetzt sollten die gesuchten Elemente in aNodes stehen.
EDIT:
- ggf. ist es einfacher ein zusätzliches class Attribut einzufügen für die entsprechenden Elemente - und dann danach zu suchen.
- ebenfalls sollte die Suche gleich bei document.onload = ... geschehen
alle tbody von style:none
alle tbody von ... style:block
... sind das alle ?alle tbody von ... style:block
var aNodesTbody = document.getElementByTagName('tbody');
var aNodes = new Array();
for (var iI=0; iI<aNodesTbody.length; iI++) {
if (aNodesTbody[iI].attributes.style.display == 'none') {
aNodes.push( aNodesTbody[iI] );
}
}
EDIT:
- ggf. ist es einfacher ein zusätzliches class Attribut einzufügen für die entsprechenden Elemente - und dann danach zu suchen.
- ebenfalls sollte die Suche gleich bei document.onload = ... geschehen