Lorenz: FF/IE Kompatibilitätsprobleme

Hallo,

ich habe ein Javascript programmiert bekommen welches im Firefox einwandfrei funktioniert und das erreicht was es erreichen soll nämlich das Löschen eines Middots \u2022 und das Löschen zweier nbsp`s. Nur leider funktioniert es nicht im Internetexplorer weder in der 6er noch in der 7er Version. Woran könnte das liegen vielleicht hat jemand eine Idee. Ich hab leider nicht allzuviel Ahnung von js gerade wenn es um Browserkompatibilität geht ist bei mir Schluss.

Hier das Script:

<script type="text/javascript">
 function deletePoint(Class, SuchObjekt){
  var obj=document.getElementsByTagName(SuchObjekt);
  for(i=0;i<obj.length;i++){
   if(obj[i].className==Class){
    if(obj[i].childNodes[1].nodeValue[0]=="\u2022"){
     obj[i].removeChild(obj[i].childNodes[0]);
     obj[i].removeChild(obj[i].childNodes[0]);
     obj[i].removeChild(obj[i].childNodes[1]);
    }
   }
  }
 }
 nav = new deletePoint('catoff','td');
 nav2 = new deletePoint('caton','td');
</script>

Vielen Dank für eure Hilfe

  1. Hello,

    if(obj[i].childNodes[1].nodeValue[0]=="\u2022"){

    blind getippt: der IE zählt die Kinder anders...Um was für eine Struktur geht es denn konkret?

    MfG
    Rouven

    --
    -------------------
    Death is nature's way of telling you to slow down.
    1. Hello,

      if(obj[i].childNodes[1].nodeValue[0]=="\u2022"){
      blind getippt: der IE zählt die Kinder anders...Um was für eine Struktur geht es denn konkret?

      MfG
      Rouven

      Genau das war auch meine Vermutung (da es hier in der Erklärung zu childnodes auch beschrieben ist). Also die Struktur wäre diese Zeile einer Navigation:

      <tr>
      <td Class="catoff" nowrap="nowrap">

      <img src='/images/1p.gif' height=1 width=20>&#149;&nbsp;<a class=catoff href="/elementvalley/Shooting%20Supplies/Accessories/">Accessories</a>&nbsp;&nbsp;

      </td>
      </tr>

      Es geht darum das img, diesen Dot und den nbsp vor dem Link zu entfernen.

      Vielen Dank schonmal für die schnelle Antwort

      1. Genau das war auch meine Vermutung (da es hier in der Erklärung zu childnodes auch beschrieben ist). Also die Struktur wäre diese Zeile einer Navigation:

        <tr>
        <td Class="catoff" nowrap="nowrap">

        <img src='/images/1p.gif' height=1 width=20>&#149;&nbsp;<a class=catoff href="/elementvalley/Shooting%20Supplies/Accessories/">Accessories</a>&nbsp;&nbsp;

        </td>
        </tr>

        Es geht darum das img, diesen Dot und den nbsp vor dem Link zu entfernen.

        Wieso tauschst du nicht einfach den Inhalt mit innerHTML aus?

        Struppi.

        1. Wieso tauschst du nicht einfach den Inhalt mit innerHTML aus?

          Struppi.

          Wie schon erwähnt bin ich nicht der js Profi, ich kenne innerHTML garnicht und habe auch dieses Script von nem Kumpel schreiben lassen der Ahnung davon hat. Vielleicht könnteste mir ja Beispielhaft zeigen wie man das aufbauen würde. Was noch zur Problematik hinzukommt ist das nicht alle Links gleichmäßig aufgebaut sind also nur die Unterkategorien haben das Bild und den Punkt die Oberenkats haben diese beiden Elemente nicht aber trotzdem die gleiche Klasse. Die Klasse wechselt wenn aktiv von catoff-caton.

          Vielen Dank

          mfg

          1. Wie schon erwähnt bin ich nicht der js Profi, ich kenne innerHTML garnicht und habe auch dieses Script von nem Kumpel schreiben lassen der Ahnung davon hat. Vielleicht könnteste mir ja Beispielhaft zeigen wie man das aufbauen würde. Was noch zur Problematik hinzukommt ist das nicht alle Links gleichmäßig aufgebaut sind also nur die Unterkategorien haben das Bild und den Punkt die Oberenkats haben diese beiden Elemente nicht aber trotzdem die gleiche Klasse. Die Klasse wechselt wenn aktiv von catoff-caton.

            Naja, ohne exaktes Wissen darüber was du genau machen willst, läßt sich da Beispielhaft nur wenig machen. Du kannst mit innerHTML den kompletten Code in einem Element lesen und schreiben.

            Struppi.

      2. Hello out there!

        &#149;
        Es geht darum das img, diesen Dot und den nbsp vor dem Link zu entfernen.

        Wie kommst du darauf, '&#149;' wäre die numerische Zeichen-Referenz für '•' U+2022 bullet? (nicht zu verwechseln mit '·' U+00B7 middle dot!)

        Der Zeichensatz für HTML-Dokumente ist immer das Universal Character Set (UCS) / Unicode. Das Zeichen an der Position 149 (hexadezimal 95) ist kein darstellbares Zeichen, sondern ein Steuerzeichen! Dass Browser unter Windows dennoch das Zeichen Nr. 149 aus dem Windows-Zeichensatz darstellen, ist kein Argument, '&#149;' zu verwenden!

        Willst du '•' U+2022 bullet darstellen, dann referenziere auch dieses Zeichen: '&#x2022;'; oder auch mit der Zeichen-Entity-Referenz '&bull;'.

        See ya up the road,
        Gunnar

        --
        „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
        1. Wie kommst du darauf, '&#149;' wäre die numerische Zeichen-Referenz für '•' U+2022 bullet? (nicht zu verwechseln mit '·' U+00B7 middle dot!)

          Mir ist soweit klar das das nicht der middot ist, ich wusste halt nicht wie ich das Ding sonst nennen sollte. Ich habe auch unterschiedliche Möglichkeiten der codierung ausprobiert aber es hat halt nur so, wenigstens im Firefox, funktioniert.

          Willst du '•' U+2022 bullet darstellen, dann referenziere auch dieses Zeichen: '&#x2022;'; oder auch mit der Zeichen-Entity-Referenz '&bull;'.

          Auch diese beiden Codierungen habe ich getestet das macht im IE kein unterschied und im FF funktioniert das dann auch nicht mehr. Wie oben erwähnt ist meine Hauptvermutung das es mit den unterschiedlichen Zählmethoden zusammenhängt vielleicht könnte mir dazu mal einer erklären was ich, in diesem Fall, beachten muss.

          mfg

          1. Hello out there!

            Willst du '•' U+2022 bullet darstellen, dann referenziere auch dieses Zeichen: '&#x2022;'; oder auch mit der Zeichen-Entity-Referenz '&bull;'.
            Auch diese beiden Codierungen habe ich getestet das macht im IE kein unterschied und im FF funktioniert das dann auch nicht mehr.

            Hä?? Sowohl bei '&#x2022;' als auch '&bull;' zeigt der Fox '•' an.

            Verweise niemals auf Steuerzeichen 7F bis 9F. Die numerischen Zeichen-Referenzen '&#x7F;' bis '&#x9F;' (dezimal '&#127;' bis '&#159;') sind tabu!

            See ya up the road,
            Gunnar

            --
            „Wer Gründe anhört, kommt in Gefahr nachzugeben.“ (Goethe)
  2. Neben dem Hinweis von Rouven...

    nav = new deletePoint('catoff','td');
    nav2 = new deletePoint('caton','td');

    Wieso erzeugst du hier Objekte?

    Struppi.