Enrico: Listenelemente bei :not(...) speziell kennzeichnen

Beitrag lesen

Hallo,

ich habe über <ul>-Tags verschiedene Menülisten definiert.

Die einzelnen Menüs beinhalten bereits alle in der finalen Version verfügbaren Menüpunkte. Nun möchte ich diejenigen Menüpunkte, die noch nicht anklickbar sein sollen, weil noch keine gleichnamige Textdatei in einem bestimmten Verzeichnis besteht, gesondert kennzeichnen.

Ein Beispiel:

Das Menü "Band" beinhaltet die Unterpunkte "Mitglieder", "Biografie", "Bewerbung", "Press-Kit" und "Stage Rider".

Bestehen Textdateien für die Menüpunkte "Mitglieder", "Biografie" und "Stage Rider", aber noch nicht für "Bewerbung" und "Press-Kit", so sollen die Links "Bewerbung" und "Press-Kit" nicht anklickbar angezeigt werden.

Die Prüfung, ob die jeweilige Textdatei besteht, will ich mit folgendem JavaScript bewerkstelligen:

var http = ajaxInitialisieren();

function ajaxInitialisieren()
{
   if (window.XMLHttpRequest)
   {
      return new XMLHttpRequest()
   }
   else
   {
      try
      {
         return new ActiveXObject('MSXML2.XMLHTTP.6.0')
      }
      catch (e)
      {
         try
         {
            return new ActiveXObject('MSXML2.XMLHTTP.3.0')
         }
         catch (e)
         {
            return false
         }
      }
   }
}

function dateiAufExistenzPruefen (datei)
{
   http.open("HEAD", datei);
   http.onreadystatechange = rueckmeldungDateisucheVerarbeiten;
   http.send(null)
}

function rueckmeldungDateisucheVerarbeiten()
{
   if (http.readyState == 4)
   {
      if (http.status == 200)
      {
         return true
      }
      else
      {
         if (http.status == 404)
         {
            return false
         }
      }
   }
}

Der Code zum Aufbauen der nicht anklickbar zu kennzeichnenden Links sieht folgendermaßen aus:

seiten = ["mitglieder", "biografie", "bewerbung", "pressKit", "stageRider", ...weitere Angaben...];

for (w = 0; w < seiten.length; w++)
{
   if (false === dateiAufExistenzPruefen ("txt/" + seiten[w] + ".txt") )
   {
      link.className = seiten[w] + kennzeichen + "NichtVerfuegbar"
   }
}

Der css-Selector zur entsprechenden Kennzeichnung:

ul.untermenueBand li:not([class$=NichtVerfuegbar]):hover

Leider habe ich aber irgendwo einen (oder mehrere) Fehler, da die Kennzeichnung ignoriert wird und somit auch eigentlich als nicht anklickbar anzuzeigende Links anklickbar ausgegeben werden.

Könnt ihr mir bei der Beseitigung des/der Fehler/Fehlers bitte behilflich sein?

Besten Dank und Gruß Enrico