Hallo Rolf,
das mit der Kapselung habe ich verstanden. Merkwürdig, dass man innerhalb der Kapsel immer den Kapselnamen voranstellen muss. Wenn ich mich recht entsinne zu Ur- und Cobolzeiten gab es sowas ähnliches wie
with kapselname {
...
}
Chöre und Orchester stellen mehrere CDs vor mit Hörproben. Innerhalb der Kapsel plA (playlist A von mehreren) muss ich immer plA voranstellen. Und dann braucht man für jede PLaylist wieder so ein Konstrukt?
var plA = {
obj_audio : document.getElementById("plA").getElementsByTagName("audio")[0]
...
// einen bestimmten Titel 0..n laden und starten
,playThis : function (ndx) {
alert( "ndx=[" +ndx +"]" );
plA.obj_audio.src = plA.arr_li[ndx].dataset.url;
// plA.arr_li[ndx].style.fontWeight = "bold";
plA.obj_audio.play();
}
}
Ich probiere es mal mit mehrdimensionalen Arrays
<div class=playlist>
<audio ...>
<ul>
<li data-src="hymne_eu.mp3">Eurohymne</li>
<li data-src="hymne_d.mp3">Deutschlandhymne</li>
</ul>
</div>
<div class=playlist>
<audio ...>
</div>
<div class=playlist>
<audio ...>
</div>
var arr_playlists = document.getElementsByClassName("playlist");
for ( let i=0; i<arr_playlists.length; i++ ) {
var arr_li = arr_playlists[i].getElementsByClassName("li");
console.log( "playlist[" +i +"] [" +arr_li.length +"] li erkannt" );
...
}
Möchte arr_li als zweite Dimension in arr_playlists einhängen, aaaber ...
playlist[0] [0] li erkannt
playlist[1] [0] li erkannt
playlist[2] [0] li erkannt
Wieso werden die li-Elemente nicht erkannt?
Edit: ES MUSS TagName heißen