Hallo,
sicher wird jetzt jeder Javascript-Profi müde lächeln und denken "nix leichter als das", aber ich kriegs irgendwie nicht so richtig hin.
Google hat mir leider auch nicht viel weiter geholfen.
Also: Dass dem selektierten Element die Klasse "selected" hinzugefügt wird, das hab ich schon erreicht. Nur, bleibt die Klasse einfach für ewig (also bis die Seite wieder aktualisiert wird..) bestehen. Das möchte ich natürlich nicht.
Wie krieg ich diese Klasse wieder weg ohne ALLE Klassen des Elements zu entfernen, also schlicht das Attribut an sich (removeAttribute("class"))?
Ich hab schon jQuery und "removeClass" ausprobiert, aber das hat nichts gebracht. Wie gesagt, alle bisher über Google recherchierten Lösungsansätze brachten bei mir nix.
Deshalb hoffe ich auf Eure Hilfe.
Hier mein Code bisher:
Hier mal ne kleine Liste, was ich alles schon ausprobiert habe und nicht funktioniert hat:
Vielleicht hab ichs aber auch falsch umgesetzt. Wer weiss... Bin noch recht unerfahren in Sachen JavaScript.
sicher wird jetzt jeder Javascript-Profi müde lächeln und denken "nix leichter als das", aber ich kriegs irgendwie nicht so richtig hin.
Google hat mir leider auch nicht viel weiter geholfen.
Also: Dass dem selektierten Element die Klasse "selected" hinzugefügt wird, das hab ich schon erreicht. Nur, bleibt die Klasse einfach für ewig (also bis die Seite wieder aktualisiert wird..) bestehen. Das möchte ich natürlich nicht.
Wie krieg ich diese Klasse wieder weg ohne ALLE Klassen des Elements zu entfernen, also schlicht das Attribut an sich (removeAttribute("class"))?
Ich hab schon jQuery und "removeClass" ausprobiert, aber das hat nichts gebracht. Wie gesagt, alle bisher über Google recherchierten Lösungsansätze brachten bei mir nix.
Deshalb hoffe ich auf Eure Hilfe.

Hier mein Code bisher:
Code:
<script>
function showdetails(auswahl) {
var detailcon_boxes = document.getElementsByTagName("div");
var small_img = document.getElementsByTagName("div");
for(var x=0; x<detailcon_boxes.length; x++) {
name = detailcon_boxes[x].getAttribute("class");
if (name == 'detailcon_boxes') {
if (detailcon_boxes[x].id == auswahl) {
detailcon_boxes[x].style.display = 'block';
select_img('small_img' + x);
}
else {
detailcon_boxes[x].style.display = 'none';
}
}
}
}
function select_img(selektion) {
var small_img = document.getElementsByTagName("div");
for(var i=0; i<small_img.length; i++) {
name = small_img[i].getAttribute("class");
if (name == 'small_img') {
if (small_img[i].id == selektion) {
small_img[i].className += ' selected';
}
else {
$(small_img[i].removeClass('selected'));
}
}
}
}
</script>
<div id="details">
<div id="detailcon_boxes1" class="detailcon_boxes" style="display: block;">
1
</div>
<div id="detailcon_boxes2" class="detailcon_boxes" style="display: none;">
2
</div>
<div id="detailcon_boxes3" class="detailcon_boxes" style="display: none;">
3
</div>
</div>
<div id="minis">
<div id="small_img1" class="small_img">
<a id="myHeader1" class="myclass" href="javascript:showdetails('detailcon_boxes1');" >
collapse
</a>
</div>
<div id="small_img2" class="small_img">
<a id="myHeader2"class="myclass" href="javascript:showdetails('detailcon_boxes2');" >
collapse
</a>
</div>
<div id="small_img3" class="small_img">
<a id="myHeader3"class="myclass" href="javascript:showdetails('detailcon_boxes3');" >
collapse
</a>
</div>
</div>
Hier mal ne kleine Liste, was ich alles schon ausprobiert habe und nicht funktioniert hat:
- http://blog.dirk-helbert.de/2010/08/12/mit-javascript-css-klassen-hinzufugen-und-entfernen/ (Das habe ich zugegebener Maßen nicht so recht verstanden... )
- box.removeAttribute("class") (http://stackoverflow.com/questions/5169017/how-to-remove-class-attribute-from-div) - Das hat schon funktioniert, aber es hat mir eben ALLE Klassen des Elements gelöscht... Das sollte auch nicht sein. Auch ein umschreiben in removeAttribute("class", "selected") hat nix geholfen.
Vielleicht hab ichs aber auch falsch umgesetzt. Wer weiss... Bin noch recht unerfahren in Sachen JavaScript.
Zuletzt bearbeitet: