php.de

Zurück   php.de > Webentwicklung > HTML, Usability und Barrierefreiheit

HTML, Usability und Barrierefreiheit Themen rund um Textauszeichnung, Formatierung, Barrierefreiheit und Usability.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.09.2007, 22:10  
Erfahrener Benutzer
 
Registriert seit: 15.06.2005
Beiträge: 206
phpbeginner
Standard Mehrere div's mit gleichen ID anzeigen / ausblenden

Hallo,

vielleicht kann mir jemand einen Tipp geben, wie ich folgendes realisieren kann.

Ich habe auf einer HTML-Seite viele DIV Elemente.

Code:
<div id="menu" style="display:none;">Inhalt2</div>
<div id="menu" style="display:none;">Inhalt2</div>
<div id="menu" style="display:none;">Inhalt3</div>
Alle diese DIV Container möchte mit einem Klick anzeigen lassen auf einen Link anzeigen lassen. Dafür habe ich diese Funktion:

Code:
function soundso(id)
{
    if(document.getElementById(id).style.display=="none") {
        document.getElementById(id).style.display = "";
    }else {
	document.getElementById(id).style.display="none";
    }
    return true;
}
Bei oben genannter Funktion lässt sich nur der erster DIV Container anzeigen, alle anderen aber nicht.

Wie kann ich Funktion so umbauen, dass es alle DIV Conteiner angezeigt werden?
__________________
Ich lerne PHP und es macht mir Spass!
phpbeginner ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.09.2007, 22:46  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

Halloo!!!
sagt dir ID was?
ID bedeutet einmalig und kann in einem Document nur ein mal vorkommen.
also
1) alle ids die 2 mal vorkommen entfernen
2) statt ids machst du attribut name mit dem wert menu
name="menu"
3) du änderst deine function so
Code:
function soundso(name) 
{ 
    divs=document.getElementsByName(name);
  for(i=0;i<divs.length;i++){
     divs[i].style.display=(divs[i].style.display=="none") ?"block":"none"; 
  }
}
__________________
Slava
http://bituniverse.com
Slava ist offline   Mit Zitat antworten
Alt 05.09.2007, 22:47  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Garnicht, weil du das eindeutige ID-Attribut mehrfach belegst.

Code:
<div class="element-closed" id="content-1">inhalt 1</div>
<div class="element-closed" id="content-2">inhalt 2</div>
<div class="element-closed" id="content-3">inhalt 3</div>
Code:
div.element-closed {
  display : none;
}
div.element-open {
  display : block;
}
Code:
var divList = document.getElementsByTagName("DIV");
for (var div, i = 0, ix = divList.length; i < ix; ++i) {
  div = divList[i];
  if (div.className.match(/\belement-closed\b/)) {
    div.className = div.className.replace(/\belement-closed\b/, "element-open");
  }
}
Einzeln gehts natürlich auch:
Code:
with (document) {
  getElementById("inhalt-1").style.display = "none";
  getElementById("inhalt-2").style.display = "none";
  getElementById("inhalt-3").style.display = "none";
}
Von mir aus auch als Schleife.
Zergling-new ist offline   Mit Zitat antworten
Alt 05.09.2007, 23:00  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

@Zergling
meine meinung nach ist es besser mit attribut name=X die DIVs gekennzeichnen und dann in einer schleife erledigen.
__________________
Slava
http://bituniverse.com
Slava ist offline   Mit Zitat antworten
Alt 05.09.2007, 23:06  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

name war mir eigentlich nur für Formular-Elemente ein Begriff, wenn das aber ein gültiges Attribut ist, klar, ist bestimmt schneller.
Zergling-new ist offline   Mit Zitat antworten
Alt 05.09.2007, 23:06  
Erfahrener Benutzer
 
Registriert seit: 15.06.2005
Beiträge: 206
phpbeginner
Standard

danke
das Problem ist, ich weiss nicht wieviele DIVs gibt
Es können auf einer Seite 5 auf anderen 20 sein

kann man elemente bzw. IDs irgendwie durchzählen?
möchte keine Schleife 50x durchlaufen wenn es nur 5 DIVs sind
__________________
Ich lerne PHP und es macht mir Spass!
phpbeginner ist offline   Mit Zitat antworten
Alt 05.09.2007, 23:12  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Sehen wir den gleichen Thread? Augen auf!
Zergling-new ist offline   Mit Zitat antworten
Alt 05.09.2007, 23:14  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

Zitat:
Zitat von phpbeginner
danke
das Problem ist, ich weiss nicht wieviele DIVs gibt
Es können auf einer Seite 5 auf anderen 20 sein
dafür habe ich dir doch angeboten bei divs die attribut name mit dem wert 'menu' einzufügen. attribut 'name' darf mehrere mals vorkommen.
__________________
Slava
http://bituniverse.com
Slava ist offline   Mit Zitat antworten
Alt 06.09.2007, 00:29  
Erfahrener Benutzer
 
Registriert seit: 17.01.2006
Beiträge: 468
Slava
Standard

Hm!
meine code funktioniert aber nur in Firefox
IE macht nicht mit. Also hat Zergling doch Recht, dass 'name' nur bei formularelementen verwendet wird.
__________________
Slava
http://bituniverse.com
Slava ist offline   Mit Zitat antworten
Alt 06.09.2007, 02:48  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.256
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Als Universalattribut bietet sich eigentlich nur class an. Die Gültigkeit von Attributen für bestimmte Tags kann man in der Selfhtml-Attributrefenz nachlesen.
Den Zugriff auf class-markierte Elemente über eine selbstgeschriebene getElementsByClass () Funktion habe ich in einem Tutorial ausführlich beschrieben: http://www.phpfriend.de/forum/ftopic62110.html.
nikosch ist gerade online   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
2 Div's zentrieren pfump HTML, Usability und Barrierefreiheit 7 24.04.2008 10:57
Formular mit DIVs Aris Sung HTML, Usability und Barrierefreiheit 2 25.11.2007 14:09
Ober - Unterkategorie anzeigen / ausblenden prinzli PHP Tipps 2008 6 24.11.2007 16:57
Dynamisches Container-Div für floating Divs HStev HTML, Usability und Barrierefreiheit 1 14.09.2007 12:39
DIV's untereinander -> Problem snatch-ic HTML, Usability und Barrierefreiheit 1 05.02.2007 12:39
Baumstruktur anzeigen PHP-Fortgeschrittene 13 31.03.2006 21:37
3 divs nebeneinander mit dynamisch gleicher Höhe HTML, Usability und Barrierefreiheit 19 18.01.2006 22:05
DIVs auf "echte" 100% der Seite setzen? King2k HTML, Usability und Barrierefreiheit 3 07.12.2005 15:15
Layer ein- und ausblenden GN HTML, Usability und Barrierefreiheit 2 24.08.2005 23:28
Abstände 2er Divs voneinander. 'progman' HTML, Usability und Barrierefreiheit 8 29.07.2005 11:42
DIVs nebeneinander freitz HTML, Usability und Barrierefreiheit 4 21.04.2005 22:47
[Erledigt] drei divs nebeneinander HTML, Usability und Barrierefreiheit 5 10.01.2005 20:27
[Erledigt] Cookie - Seite anzeigen / nicht anzeigen PHP Tipps 2004-2 2 11.11.2004 15:59
Alle Datenbanken und Tabellen anzeigen anzeigen imported_Lumio PHP Tipps 2004 4 13.09.2004 14:26
Xampp, eigene Dateien anzeigen... Server, Hosting und Workstations 4 19.06.2004 23:36

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
javascript gleiche id, getelementbyid mehrere elemente, html gleiche id, javascript mehrere gleiche ids, div gleiche id, javascript mehrere gleiche id, mehrere divs gleiche id, javascript gleiche ids, mehrere div mit gleicher id, javascript elemente gleiche id, getelementbyid gleiche id, html mehrere gleiche id, mehrere divs ausblenden, html mehrere elemente gleiche id, mehrere divs mit gleicher id, div mit gleicher id, mehrere div gleiche id, divs mit gleicher id, html mehrere elemente ausblenden, html mehrere ids

Alle Zeitangaben in WEZ +1. Es ist jetzt 22:48 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.