Hallo,
ich nicht, denn ich bin ziemlich sicher, du testest *nicht* im IE, sondern vermutlich im Firefox.
Genau.
Ich kann das von dir beschriebene Phänomen aber auch in IE5.5 und IE6.0 reproduzieren.
Das wundert mich nicht. Es muss sich wohl irgendwie aus der ECMAScript-Spezifikation ergeben. Ein Bug in der Spezifikation vielleicht...
Eine solche Unlogik würde man doch keiner Programmiersprache zutrauen...
Nicht absichtlich. Oder wenn doch, würde man es wenigstens als ungewöhnlichen Sonderfall dokumentieren.
Das haben wir ja jetzt hier nachgeholt :)
Vielleicht ist es ja doch ganz nützlich, denn mit der Ausdruck !s||(s==!s)
[TM] kann man nun von einem String s ganz einfach feststellen, ob er Text enthält oder nicht. Wenn er keinen Text enthält, ergibt das true, sonst false.
Machen wir doch gleich Nägel mit Köpfen:
String.prototype.hasText = function() {return !(!this||(this==!this));};
Die Unlogik fängt an mir zu gefallen...
Gruß, Don P