Horst: Case sensitive machen, das...

Hallo,

ein <ul id='OTTO'> wird bei mir im IE genauso gewertet wie ein <ul id='otto'>

Mist.

Wie schalte ich JS auf Case sensitive?

Btw., JS wertet auch ein 'ss' wie 'ß'. Das geht entschieden zu weit ;-)

Also: Wie abstellen?

Viele Grüße,
Horst Haselhun

  1. Moin!

    Hallo,

    ein <ul id='OTTO'> wird bei mir im IE genauso gewertet wie ein <ul id='otto'>

    Mist.

    Wie schalte ich JS auf Case sensitive?

    Gar nicht. Obwohl im HTML-Standard IDs (und auch Klassennamen) eigentlich als case-sensitive definiert sind, haben diverse Browserhersteller diesen Punkt bislang nicht wahrgenommen und daher den Parser nur case-insensitive geschrieben.

    Das wird sich in existierenden Browsern auch nicht mehr ändern. Lebe damit. Es ist sowieso keine gute Idee, neben der ID "OTTO" auch noch "Otto" oder "otto" zuzulassen, das verwirrt im Zweifel den Programmierer nur unnötig und führt zu Zweideutigkeiten, die keine sein sollten.

    Btw., JS wertet auch ein 'ss' wie 'ß'. Das geht entschieden zu weit ;-)

    Beispielcode?

    - Sven Rautenberg

    --
    "Love your nation - respect the others."
    1. Moin!

      Das wird sich in existierenden Browsern auch nicht mehr ändern. Lebe damit. Es ist sowieso keine gute Idee, neben der ID "OTTO" auch noch "Otto" oder "otto" zuzulassen, das verwirrt im Zweifel den Programmierer nur unnötig und führt zu Zweideutigkeiten, die keine sein sollten.

      Wie man in http://devedge-temp.mozilla.org/viewsource/2001/css-class-id/ nachlesen kann, ist es ohnehin verboten, in ein-und-demselben Dokument mehrere IDs zu haben, die sich nur im "case" unterscheiden. "OTTO" und "otto" parallel sind nicht erlaubt. Also kann auch kein Problem mit der case-insensitivität auftreten.

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
      1. Hallo,

        Wie man in http://devedge-temp.mozilla.org/viewsource/2001/css-class-id/ nachlesen kann, ist es ohnehin verboten, in ein-und-demselben Dokument mehrere IDs zu haben, die sich nur im "case" unterscheiden. "OTTO" und "otto" parallel sind nicht erlaubt. Also kann auch kein Problem mit der case-insensitivität auftreten.

        Tja. Das waren wohl keine Deutsche, wo so einen Bull-Shit beschlossen haben. Weil: Wir Deutsche unterscheiden sehr wohl zwischen case-sensitive und /i.

        Betrachte folgenden Satz:
        Er handelte mit Kupfer und Stahl.
        er handelte mit kupfer und stahl.

        Ja, so ein Dieb! er Stahl! Sofort verhaften. Sowas aber auch...

        Viele Grüße von meinem Rechner mit der IP 192.168.1.3

        1. Moin!

          Betrachte folgenden Satz:
          Er handelte mit Kupfer und Stahl.
          er handelte mit kupfer und stahl.

          Eine ID ist ein Identifikationsmerkmal ohne weiteren Kontext. Dein Beispiel geht fehl, weil ein Satz der menschlichen Sprache Bedeutung hat - eine ID nicht. Also auch die Schreibweise der Buchstabengröße nicht.

          - Sven Rautenberg

          --
          "Love your nation - respect the others."
        2. Hallo,

          Viele Grüße von meinem Rechner mit der IP 192.168.1.3

          vorsicht Rolf, Du führst Hip-Hopper in Versuchung, Dich zu hacken. :-)

          Freundliche Grüße

          Vinzenz

    2. Moin!

      Beispielcode?

      Klar lieber Sven.

      Geh mal auf
      http://rolfrost.de/cgi-bin/words.cgi?char=M

      und klicke auf 'Maße'

      In der Liste weiter oben wird 'Masse' aufgeklapt. (IE 6)

      Viele Grüße,
      Horst Haselhuhn

      1. Hi,

        und klicke auf 'Maße'

        'Maße' ist kein in HTML zulässiger Wert für eine ID.

        Wenn damit nicht richtig umgegangen wird, darfst Du Dich m.E. nicht wundern.

        cu,
        Andreas

        --
        Warum nennt sich Andreas hier MudGuard?
        O o ostern ...
        Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hi,

          und klicke auf 'Maße'

          'Maße' ist kein in HTML zulässiger Wert für eine ID.

          Ok. Ok.

          Ich werde das mal umschreiben in Ma&szlig;e

          Wenn damit nicht richtig umgegangen wird, darfst Du Dich m.E. nicht wundern.

          Jaja. Wehe, wenn es danach nicht so geht, wie ich will: Morgen bringe ich sie um ;-)

          Viele Grüße,
          Horst Haselhuhn

          Btw., Andreas, ich denke, das isses. Vielen Dank Eyh!

          1. Hallo,

            'Maße' ist kein in HTML zulässiger Wert für eine ID.
            Ok. Ok.
            Ich werde das mal umschreiben in Ma&szlig;e

            wie kommst Du auf die Idee, ein Ampersand oder ein Semikolon seien in einer ID
            erlaubt? Ich hab's Dir doch extra rauskopiert.

            Freundliche Grüße

            Vinzenz

            1. Hi,

              Ich werde das mal umschreiben in Ma&szlig;e
              wie kommst Du auf die Idee, ein Ampersand oder ein Semikolon seien in einer ID
              erlaubt?

              ein "&" kommt nur dann in dieser ID vor, wenn er im HTML-Code "Ma&amp;szlig;e" schreibt. Ich glaube nicht, dass er das vor hatte.

              Cheatah

              --
              X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
              X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
              X-Will-Answer-Email: No
              X-Please-Search-Archive-First: Absolutely Yes
          2. Hi,

            Ich werde das mal umschreiben in Ma&szlig;e

            das ist eine HTML-Kodierung für einen Wert, der "Maße" lautet. Dieser ist als ID nicht erlaubt.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
      2. Hallo,

        Geh mal auf
        http://rolfrost.de/cgi-bin/words.cgi?char=M

        hab' ich gemacht, Dein Doctype ist

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

        und klicke auf 'Maße'

        Dein Quelltext ist dort wie folgt:

        <li>Maße<i onclick="document.getElementById('Maße').style.display = 'block'">[+]</i>

        http://www.w3.org/TR/html401/types.html#type-name sagt:
        <zitat>
            ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed
            by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"),
            colons (":"), and periods (".").
        </zitat>

        In der Liste weiter oben wird 'Masse' aufgeklapt. (IE 6)

        Also sei froh, dass überhaupt etwas aufgeklappt wird, wenn Du schon ungültige
        ID-Bezeichnungen verwendest.

        Freundliche Grüße

        Vinzenz

        1. Hallo,

          ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed
              by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"),
              colons (":"), and periods (".").
          </zitat>

          Mist. Dann wirds ja doch nix mit 'Ma&szlig;e'

          Bitte mal einen Vorschlag, wie ich 'Maße' von 'Masse' unterschiedlich notieren kann, damit mein Browser das versteht.

          Viele Grüße,
          Hotte

          1. Hallo,

            ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed
                by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"),
                colons (":"), and periods (".").
            </zitat>
            Mist. Dann wirds ja doch nix mit 'Ma&szlig;e'

            *g*

            Bitte mal einen Vorschlag, wie ich 'Maße' von 'Masse' unterschiedlich notieren kann, damit mein Browser das versteht.

            wie wäre es mit einem Rechtschreibfehler?

            Freundliche Grüße

            Vinzenz

            1. Hallo Vinzenz,

              Bitte mal einen Vorschlag, wie ich 'Maße' von 'Masse' unterschiedlich notieren kann, damit mein Browser das versteht.

              wie wäre es mit einem Rechtschreibfehler?

              Das Schlimme ist: Es ist nicht so einfach. Die dofen Worte wie 'Maße' oder 'Masse' hab ich zwar irgendwann einmal geschrieben, aber letztendlich kommen die auch nur

              aus einer schnöden Datei

              oder

              aus einer Datenbank.

              ODER aus: SELFHTML

              Stichwort "Bier in Maßen" || "Bier in Massen"

              Hier stossen wir alle an die Grenzen des Universums. Kein Problm.

              Machts gut Ihr alle!

              Viele Grüße,
              Horst Haselhuhn

              --
              Mein richtiger Name ist Hans Albers. Ich verklage jeden, der meinen richtigen Namen Hubertus A. öffentlich nennt!
              1. Hi,

                Das Schlimme ist: Es ist nicht so einfach. Die dofen Worte wie 'Maße' oder 'Masse' hab ich zwar irgendwann einmal geschrieben, [...]

                sprich den Buchstaben "ß" mal laut aus. Vielleicht eröffnet sich für Dich eine Lösung.

                Cheatah

                --
                X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                X-Will-Answer-Email: No
                X-Please-Search-Archive-First: Absolutely Yes
                1. Hi,

                  Das Schlimme ist: Es ist nicht so einfach. Die dofen Worte wie 'Maße' oder 'Masse' hab ich zwar irgendwann einmal geschrieben, [...]
                  sprich den Buchstaben "ß" mal laut aus. Vielleicht eröffnet sich für Dich eine Lösung.

                  Du meinst "Mascharfesese" ;-)

                  cu,
                  Andreas

                  --
                  Warum nennt sich Andreas hier MudGuard?
                  O o ostern ...
                  Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                  1. Hi,

                    sprich den Buchstaben "ß" mal laut aus. Vielleicht eröffnet sich für Dich eine Lösung.
                    Du meinst "Mascharfesese" ;-)

                    rüchtüüüüch ;-)

                    Cheatah

                    --
                    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
                    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
                    X-Will-Answer-Email: No
                    X-Please-Search-Archive-First: Absolutely Yes
            2. Hallo,

              wie wäre es mit einem Rechtschreibfehler?

              Aaach sooo.

              Nene. Nich mit mich! Ich Deutschah! Weischd ;-)

              Viele Grüße,
              Hans Albers

              --
              Obwohl: Den Schei*sern von IE&Co-Programmierern werd ich schon mal zeigen, wo's Papier hängt.
              Versprochen.
        2. Hallo,

          http://www.w3.org/TR/html401/types.html#type-name sagt:
          <zitat>
              ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed
              by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"),
              colons (":"), and periods (".").
          </zitat>

          Ok, ich hab das mal eben so gemacht und es geht alles. Vielen Dank an Alle und viele Grüße,
          Horst Haselhuhn

          1. Hallo,

            wie schon gesagt, die Worte kommen aus einer DB und haben u.U. Umlaute u.a. Sonderzeichen, sind also nativ nicht für ID Tokens geeignet.

            http://www.w3.org/TR/html401/types.html#type-name sagt:
            <zitat>
                ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed
                by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"),
                colons (":"), and periods (".").
            </zitat>

            Variante 1 (ist mir heut nacht im Traum eingefallen):

            • mit der PERL-funktion ord(); jedes im Wort vorkommende Zeichen umwandeln und an ein 'a' einfach hinten dran hängen.

            Variante 2 (kam mir heute im Mittagsschlaf und ist performanter als Variante 1):

            • die ID wird einfach durchnumeriert, a1, a2...

            Viele Grüße,
            Horst Haselhuhn