Uncaught TypeError: arr_ausgewaehlte_audios.splice is not a function
Linuchs
- javascript
Moin,
auf einer Webseite gibt es mehrere audio-tags. Die mit class=nogroup sollen aus dem array gelöscht werden. Was ist an dem splice falsch?
arr_ausgewaehlte_audios = document.querySelectorAll( "audio" );
for ( let i=0; i < arr_ausgewaehlte_audios.length; i++ ) {
if( arr_ausgewaehlte_audios[i].className == "nogroup" ) {
alert( "Audio " +i +" entfernen" );
arr_ausgewaehlte_audios.splice( i, 1 );
}
arr_ausgewaehlte_audios[i].volume = 0.2;
}
Ich entferne audio[0], ist dann die bisherige 1 jetzt 0 und muss ich in der for-Schleife i-- machen?
Hätte ich selbst ausprobiert, aber splice zickt.
Gruß, Linuchs
Hi,
auf einer Webseite gibt es mehrere audio-tags. Die mit class=nogroup sollen aus dem array gelöscht werden. Was ist an dem splice falsch?
es ist auf Nodelist (welches querySelectorAll zurückgibt) schlicht nicht existent.
cu,
Andreas a/k/a MudGuard
danke, jetzt sieht es so aus:
arr_ausgewaehlte_audios = Array.from( document.querySelectorAll( "audio" )); // array wg. slice kann keine NodeList
console.log( "lied_mehrspurig.js " +arr_ausgewaehlte_audios.length +" audios" );
for ( let i=0; i < arr_ausgewaehlte_audios.length; i++ ) {
if( arr_ausgewaehlte_audios[i].className == "nogroup" ) { // .nogroup nicht auswaehlen - tonikum you_took_the_words
alert( "Audio " +i +" entfernen [" +arr_ausgewaehlte_audios[i].source +"]" );
arr_ausgewaehlte_audios.splice( i, 1 );
}
arr_ausgewaehlte_audios[i].volume = 0.2;
}
Kann man bei querySelectorAll Elemente ausschließen, sowas wie
arr_ausgewaehlte_audios = Array.from( document.querySelectorAll( "audio", !".nogroup" ));
Hi,
Kann man bei querySelectorAll Elemente ausschließen
das erwartet einen CSS-Selektor.
not existiert auch in CSS.
cu,
Andreas a/k/a MudGuard
wie ist die Symtax? Nahezu alles versucht, entweder auf Fehler gelaufen oder 6 Elemente erkannt. 5 ist richtig, ein audio hat class=nogroup
//arr_ausgewaehlte_audios = document.querySelectorAll( "audio" not ".nogroup" );
//arr_ausgewaehlte_audios = document.querySelectorAll( "audio", not ".nogroup" );
//arr_ausgewaehlte_audios = document.querySelectorAll( "audio", "not .nogroup" );
arr_ausgewaehlte_audios = document.querySelectorAll( "audio" and not[".nogroup"] );
//arr_ausgewaehlte_audios = document.querySelectorAll( "audio", "not[.nogroup]" );
//arr_ausgewaehlte_audios = document.querySelectorAll( "audio" and not ".nogroup" );
//arr_ausgewaehlte_audios = document.querySelectorAll( "audio", and not ".nogroup" );
console.log( "lied_mehrspurig.js " +arr_ausgewaehlte_audios.length +" audios" );
wie ist die Symtax?
So funktioniert es:
arr_ausgewaehlte_audios = document.querySelectorAll( "audio:not(.nogroup)" );
Hallo Linuchs,
wie ist die Symtax?
//arr_ausgewaehlte_audios = document.querySelectorAll( "audio" not ".nogroup" ); //arr_ausgewaehlte_audios = document.querySelectorAll( "audio", not ".nogroup" ); //arr_ausgewaehlte_audios = document.querySelectorAll( "audio", "not .nogroup" ); arr_ausgewaehlte_audios = document.querySelectorAll( "audio" and not[".nogroup"] ); //arr_ausgewaehlte_audios = document.querySelectorAll( "audio", "not[.nogroup]" ); //arr_ausgewaehlte_audios = document.querySelectorAll( "audio" and not ".nogroup" ); //arr_ausgewaehlte_audios = document.querySelectorAll( "audio", and not ".nogroup" ); console.log( "lied_mehrspurig.js " +arr_ausgewaehlte_audios.length +" audios" );
logisch denken, nicht einfach wild rumprobieren oder gar Rum probieren!
Die Funktion querySelectorAll() erwartet genau ein Argument. Einen String. Und dieser String muss ein gültiger CSS-Selektor sein. Also sind alle deine planlosen Versuche schon formalsyntaktisch falsch.
Logisch denken: Wie würdest du den Selektor in reinem CSS formulieren?
Einen schönen Tag noch
Martin
oder gar Rum probieren!
Mir war zum Heulen, da greift man schon mal zur Wein-Flasche.
Das not ist heute meine Premiere, noch nie (bewusst) angewendet.
Als blindes Huhn hab ich 'n Korn gefunden. Prost!
Hallo,
Mir war zum Heulen, da greift man schon mal zur Wein-Flasche.
Als blindes Huhn hab ich 'n Korn gefunden. Prost!
naja, flüssig ist so ziemlich die einzige Form, in der Kümmel genießbar ist.
Btw: Es wird immer wieder behauptet, Kümmel wirke entblähend. Tatsächlich mache ich immer wieder die umgekehrte Erfahrung: Kümmel, z.B. im Brot oder im Salat, verursacht eher Blähungen. Und zwar von der übelriechenden Sorte.
Einen schönen Tag noch
Martin
Hi,
wie ist die Symtax? Nahezu alles versucht, entweder auf Fehler gelaufen oder 6 Elemente erkannt. 5 ist richtig, ein audio hat class=nogroup
Wie heißt es so schön:
5 Stunden planloses Raten erspart 10 Minuten Handbuchlesen …
cu,
Andreas a/k/a MudGuard
@@MudGuard
Wie heißt es so schön:
5 Stunden planloses Raten erspart 10 Minuten Handbuchlesen …
Die Inflation schreitet voran. 2006 waren es noch 2 Stunden.
🖖 Живіть довго і процвітайте
Einen schönen 2. Advent euch allen! (Bei uns ist alles ein bisschen weiß)
Im heutigen Adventskalender geht's um das Ansprechen von einzelnen und mehreren Elementen einer Webseite.
5 Stunden planloses Raten erspart 10 Minuten Handbuchlesen …
Da sprichst du ein großes Wort gelassen aus!
Herzliche Grüße
Matthias Scharwies
@@Matthias Scharwies
Kann man … an dem 🎄 Baum noch eine Kugel ein alt
-Attribut ans img
-Element hängen? Das wird gern vergessen.
🖖 Живіть довго і процвітайте
@@Matthias Scharwies
Kann man … an dem 🎄 Baum noch
eine Kugeleinalt
-Attribut ansimg
-Element hängen? Das wird gern vergessen.War doch schon dran!?
Nein.
🖖 Живіть довго і процвітайте
Servus!
@@Matthias Scharwies
Kann man … an dem 🎄 Baum noch
eine Kugeleinalt
-Attribut ansimg
-Element hängen? Das wird gern vergessen.War doch schon dran!?
Nein.
Ah - jetzt verstehen!
Wird gemacht!
🖖 Живіть довго і процвітайте
Herzliche Grüße
Matthias Scharwies
@@Matthias Scharwies
Ah - jetzt verstehen!
🙂
Wird gemacht!
Bei Gelegenheit auch gleich noch ein lang
-Attribut ans html
-Element. Auch das ist ja quasi Pflicht.
🖖 Живіть довго і процвітайте