Thomas Meinike: string not an object?

Beitrag lesen

Hallo,

typeof Meta[i].attributes["name"].nodeValue liefert erwartungsgemäß "string",
aber Meta[i].attributes["name"].nodeValue.toLowerCase() gibt die Fehlermeldung
"Meta[i].attributes["name"].nodeValue is not an object".

Die attributes[]-Collection ist in Browsern ziemlich buggy, siehe http://www.quirksmode.org/dom/w3c_core.html. Verwende besser die Methode getAttribute().

Außerdem ist vor Anwendung der toLowerCase()-Methode eine Abfrage auf das Objekt wichtig, da ja auch META-Informationen ohne name-Attribut vorkommen koennen (dafuer http-equiv).

Probiere es so:

var Meta = document.getElementsByTagName("meta");
for (var i = 0; i < Meta.length; i++)
 if (Meta[i].getAttribute("name") && Meta[i].getAttribute("name").toLowerCase() == "dc.date") {
  document.write(Meta[i].getAttribute("content"));
  i = Meta.length;
 }

MfG, Thomas