Kalle_B: innerHTML und <p>

Hallöle,

irgendwie kann Opera keine Absätze einfügen, der <p> Tag wird ignoriert:

  var txt =  
  "<p class='mb00'>" +art_bez +"<\/p><br><p class='ro'>" +obj.value +" * " +epreis +" &nbsp; " +pos_preis +"<\/p>";  
alert( txt );  
  document.getElementById("wk_pos").innerHTML  
  = document.getElementById("wk_pos").innerHTML +txt;  

Alert zeigt:
<p class='mb00'>Kadhi Pakoda 360g</p><br><p class='ro'>2 * 2.50 &nbsp; 5.00</p>

Ohne das <br> gibt es eine Zeile.

Habe ich was übersehen?

Gruß,
Kalle

  1. Hallo Kalle_B,

    kann ich mit meinem Minmalbeispiel nicht nachvollziehen:

    <div id="wk_pos"></div>  
    <script>  
    var txt = "<p>Test</p><p>Test</p>";  
    alert( txt );  
    document.getElementById("wk_pos").innerHTML = document.getElementById("wk_pos").innerHTML +txt;  
    </script>
    

    Habe ich was übersehen?

    Deine CSS-Klasse mb00 vielleicht?

    Mit freundlichem Gruß
    Micha

  2. Hallo Kalle_B,

    darf das Element mit der id "wk_pos" denn ein p-Tag enthalten?

    Gruß, Jürgen

    1. Hallo Jürgen,

      darf das Element mit der id "wk_pos" denn ein p-Tag enthalten?

      Nöö:
      <p id='wk_pos'></p>

      Aber jetzt:
      <div id='wk_pos'></div>

      Danke, jetzt klappt's.

      Kalle

      1. Grüße,

        Nöö:
        <p id='wk_pos'></p>

        Aber jetzt:
        <div id='wk_pos'></div>

        Danke, jetzt klappt's.

        gaaanz genau genommen darf p nur inlineelemente enthalten, und das erzwingen der Zeilenumbrüche innerhalb eines Absatzes ist auch schlechter Stil - aber wenns funzt...
        MFG
        bleicher

        --
        __________________________-

        FirefoxMyth
        1. gaaanz genau genommen darf p nur inlineelemente enthalten, und das erzwingen der Zeilenumbrüche innerhalb eines Absatzes ist auch schlechter Stil - aber wenns funzt...

          Verstehe ich nicht. Fließtext bricht am Ende der Zeile automatisch um. Warum soll das nicht manuell erlaubt sein?

          Aufzählungen

          • so wie diese
          • oder jene

          machen innerhalb eines Absatzes doch Sinn in einer neuen Zeile.

          Aufzählungen

          • so wie diese

          • oder jene

          zeigen keine Zugehörigkeit zum Absatz.

          Kalle

          1. Moin Moin!

            Verstehe ich nicht. Fließtext bricht am Ende der Zeile automatisch um. Warum soll das nicht manuell erlaubt sein?

            Ist es doch. Dafür gibt es das BR-Tag, anzuwenden INNERHALB eines Absatzes (P-Tag).

            Aufzählungen

            ... baust Du aus Listen-Tags wie UL, OL oder DL, in die Du Listen-Element-Tags wie LI, DT oder DD einbaust.

            Die Gestaltung der Abstände machst Du per CSS.

            Alexander

            --
            Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
            1. Ist es doch. Dafür gibt es das BR-Tag, anzuwenden INNERHALB eines Absatzes (P-Tag).

              Innerhalb eines P-Tags ist es nicht sinnvoll, ein br-Tag zu notieren, innerhalb des Elements uU schon.

              Aufzählungen

              ... baust Du aus Listen-Tags

              Elementen :p

              1. Moin Moin!

                ... baust Du aus Listen-Tags

                Elementen :p

                Jaja, hast ja recht, erst denken, dann posten ... ;-)

                Alexander

                --
                Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
  3. irgendwie kann Opera keine Absätze einfügen, der <p> Tag wird ignoriert:

    Woran läßt sich das anhand deines Beispiels erkennen?

    Ohne das <br> gibt es eine Zeile.

    Da in dem JS String kein Zeilenumbruch ist, wird es auch mit <br> nur eine Zeile ergeben.

    Du solltest dein Problem so formulieren, dass es auch für Aussenstehende erkennbar ist.

    Struppi.