Linuchs: Bearbeitung des Wiki: Playlist

Beitrag lesen

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