 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
22.01.2005, 19:24
|
#1
|
|
TP-Veteran
Registriert seit: Dec 2002
Ort: london
|
getElementsByClass
Ich weiß, dass es die JavaScript-Funktion im Titel nicht gibt, aber ich bräuchte sie. Was ich vorhabe: Ich will alle Elemente einer speziellen Klasse auf einmal ausblenden. Beispiel
HTML-Code:
<p class="falsch">das ist falsch!</p>
<p class="richtig">das ist richtig!</p>
<a href="javascript:change()">falsch/richtig</a>
naja, die funktion change() sollte halt alle Absätze, die richtig sind ausblenden und dafür die falschen einblenden.
Wie mach ich das?
|
|
|
24.01.2005, 20:36
|
#2
|
|
TP-Veteran
Registriert seit: Dec 2002
Ort: london
|
zu blöde formuliert, zu schwer? warum antwortet niemand?
|
|
|
24.01.2005, 20:37
|
#3
|
|
TP-Veteran
Registriert seit: Jan 2002
|
Es gibt getElementsByClassName(). 
|
|
|
25.01.2005, 11:55
|
#4
|
|
TP-Veteran
Registriert seit: Mar 2002
Ort: Göppingen
|
@seb: seit wann das denn? meines wissens nach wird getElementsByClassName() zwar seit Jahren von Entwicklern gewünscht, wurde aber nie implementiert.
was es aber gibt, ist die Eigenschaft className, damit kann man sich behelfen
Code:
<html>
<head>
<title></title>
<script type="text/javascript">
function ShowClass(c){
var alltags = document.getElementsByTagName("p"); //für alle Tags: "*"
for (i=0; i<alltags.length; i++){
if (alltags[i].className==c) alltags[i].style.visibility = "hidden";
}
}
</script>
</head>
<body>
<p class="falsch">das ist falsch!</p>
<p class="richtig">das ist richtig!</p>
<a href="#" onClick="ShowClass('falsch')">falsch/richtig</a>
</body>
</html>
hilft dir das weiter, oder hat sich das tehma eh schon erledigt?
Geändert von AnnaStesia (25.01.2005 um 11:57 Uhr).
|
|
|
25.01.2005, 12:09
|
#5
|
|
TP-Veteran
Registriert seit: Jan 2002
|
Zitat:
|
@seb: seit wann das denn?
|
Ups...*schäääm*...mal wieder geschrieben, ohne vorher nachzudenken.
Du hast natürlich Recht. Ich hatte etwas mit "className" im Kopf und wusste, dass man damit Elemente über ihre CSS-Klasse ansprechen kann. Dass es dazu einer Schleife bedarf, mit der man erstmal alle potentiellen Zielelemente durchläuft, um dann mittels Prüfung von element.className die gesuchten zu ermitteln, ist mir in dem Moment nicht eingefallen.
|
|
|
25.01.2005, 12:13
|
#6
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Wenn jede Class nur einmal vorkommt, würde ich vieleicht mit GetElementById arbeiten und anstelle einer Class ne ID vergeben..
|
|
|
26.01.2005, 14:29
|
#7
|
|
TP-Veteran
Registriert seit: Dec 2002
Ort: london
|
getElementById kenne ich ja, aber das ist in diesem Fall nicht tauglich. Und weil mir das schon seit Monate immer mal wieder nuetzlich erschien, irgendwelches Verhalten anhand der Klasse zu veraendern und ich nie was aehnliches gesehen habe, habe ich mich durchgerungen, doch mal zu fragen. auf die idee mit der schleife waere ich schon aufgrund meiner verschwindend geringen kenntnisse in javascript nie gekommen...
herzlichen dank.
|
|
|
26.01.2005, 18:59
|
#8
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
Dann vieleicht GetElementByName (soweit ich weiß, darf das Nameattribut mehrfach verwendet werden).
|
|
|
26.01.2005, 19:35
|
#9
|
|
TP-Veteran
Registriert seit: Mar 2002
Ort: Göppingen
|
@adromir: auch auf die Gefahr hin, dass ich bei dir auf der Ignorier-Liste stehe, aber das bringt doch auch nix - name gibt es nur für ausgewählte Elemente, siehe hier, daher eignet sich das nicht für den Zugriff auf divs, paragraphen, usw.
|
|
|
26.01.2005, 19:50
|
#10
|
|
TP-Moderator
Registriert seit: Jun 2004
Ort: Hannover
|
@AnnaStesia: Nimmer nich.. Wieder was dazu gelernt 
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| 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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:05 Uhr.
|
 |