Hallo liebe Forumer,
ich brauche eure Unterstützung. Folgende Ausgangssituation, ich möchte per java script eine class ändern und zwar möchte ich es nutzen als switch wenn java-script deaktiviert ist:
mein css:
.js-enabled [aria-expanded="false"] + .nav-group { display:none !important;}
.js-disabled [aria-expanded="false"] + .nav-group { display:block !important;}
<li class="treespanmain
js-disabled" role="treeitem">
<button aria-expanded="false"><span class="visually-hidden">HauptNavigation</span></button>
[ ... ] .... and so on …
dabei möchte ich aus der classe für das li {treespanmain js-enabled} machen
Bisher habe ich folgendes ausprobiert:
<script>
// <botton> die Klasse "js-enabled" geben
function init() {
document.li.className = "js-disabled";
document.li.remove("js-enabled");
};
function globalClickManager(ev){
// ev.target gibt uns das Element auf dem der Click geschah.
// steuere expanded Buttons
if(ev.target.hasAttribute("aria-expanded") ){
ev.target.setAttribute("aria-expanded", ( ev.target.getAttribute("aria-expanded") == "false") );
}
// Buttons die lediglich den Click transferieren ähnlich zu label Elementen
else if(ev.target.hasAttribute("data-for-id") ){
document.getElementById( ev.target.getAttribute("data-for-id") ).click();
}
else if( Element.prototype.closest){
if( ev.target.closest("nav") == null ){
var temp = document.querySelector("nav [aria-expanded='true']");
if(temp) temp.setAttribute("aria-expanded","false");
}
}
}
[and so on] ...
ABER bei mir funktioniert das nicht, auch wenn java-script aktiviert ist bleibt das js-disabled stehen und wechselt NICHT!
Was mache ich falsch?
der einsiedelnde