Jobbigt javascript och div problem
Jag är inte bra på javascript, utan försöker att modifiera färdiga scripts för att förstå dem bättre och utifrån det lära mig någonting.
Ett problem jag kämpat med i flera timmar är följande:
Min kod:
<script type="text/javascript" language="javascript">
function switchCollection(elColl,elShow) {
var subLength = elColl.length;
var divCollection = document.getElementsByTagName('div');
var divSelected = document.getElementById(elShow);
for (var i=0; i<divCollection.length; i++) {
if(divCollection[i].id.substring(0,subLength) == elColl) { divCollection[i].style.display = "none"; }
}
divSelected.style.display = "block";
}
</script>
Och för att kalla funktionen använder jag följande:
<option onmouseclick="javascript:switchCollection('box','box1')">
<option onmouseclick="javascript:switchCollection('box','box2')">
<option onmouseclick="javascript:switchCollection('box','box3')">
Sedan har jag även några divar som ser ut på följande vis:
<div id="box1" style="display:block;">
box1
</div>
<div id="box2" style="display:none;">
box2
</div>
<div id="box3" style="display:none;">
box3
</div>
Detta fungerar bra. Men jag vill experimentera lite men jag kommer absolut ingenvart:
Jag vill att när jag väljer ett alternativ i selectboxen, tex: <option onmouseclick="javascript:switchCollection('box','box1')">
Så skall ALLA divar med id="box1" visas.
<div id="box1" style="display:block;">
box1
</div>
<div id="box1" style="display:block;">
box1
</div>
<div id="box1" style="display:block;">
box1
</div>
<div id="box1" style="display:block;">
box1
</div>
etc...
Men jag vet att detta inte är möjligt eftersom id är unikt. Jag har googlat i all evighet och försökt hitta motsvarigheter fast för classer osv.. Men inte kommit någonvart.
Hur skall jag gå tillväga?
"javascript:switchCollection('box','box1')" innebär att alla divar som börjar på box skall döljas, medan box1 skall visas. I detta fallet vill jag just att alla som börjar på box skall döljas förutom alla divarna som har id/class som heter box1.
Vore otroligt tacksam för hjälp!