2017-02-22 4 views
0

habe ich habe folgende TextParse Text, html innerhalb

let text = "La altura del Monte Everest es <select class='cs-select cs-skin-slide' id='memorySelect'></select> y es por eso considerado el monto más alto del mundo" 

Nach der Auswahl von Optionen über JS hinzufügen, ich anfügen, wie dies in meinem Körper.

$('body').html(text) 

So ist mein Ergebnis der folgenden

enter image description here

Das ist, wo das Problem ist !. Ist mein String ich die HTML müssen in der MIDDLE des Textes, NICHT am Ende

So wäre das Ergebnis der folgenden

enter image description here

analysieren Warum wird die HTML nach unten geht ? Ich habe das gleiche mit 3 HTML-Strukturen versucht und alle 3 geht nach unten und der Text bleibt an der Spitze.

UPDATE: Dies ist die CSS der SELECT

display: inline; 
vertical-align: middle; 
position: relative; 
text-align: left; 
z-index: 100; 
background: #292f33; 
max-width: 500px; 
user-select: none; 
+0

funktioniert gut in der JSFiddle https://jsfiddle.net/9jmn8vwv/? Meine Vermutung ist, dass es auf der CSS-Formatierung des select-Elements basiert, stellen Sie sicher, dass es so etwas wie 'display: inline-block' verwendet. –

+0

Haben Sie CSS in Ihrer Datei? Vielleicht hat Ihre Auswahl "float" gesetzt? Mit Ihrem Code wie er ist, scheint er wie vorgesehen zu funktionieren: https://jsfiddle.net/mspinks/088f8z8b/4/ –

+0

Überprüfen Sie Ihr CSS, es gibt einige Klassen auf der Auswahl, die das wahrscheinlich verursachen. –

Antwort

0

Versuch dies zu tun:

let text = "<p>La altura del Monte Everest es </p><select class='cs-select cs-skin-slide' id='memorySelect'></select><p>y es por eso considerado el monto más alto del mundo</p>" 

Und dann Inline-Elemente angezeigt werden. Sollte funktionieren :)

+0

Nein :(Das Ergebnis ist das gleiche, mit mehr Rändern an der Spitze und am unteren Rand, aber die SELECT ist am unteren Rand :( –

+0

@ LesterVargas, wenn Sie die Seite auf Chrom und überprüfen Sie das Element, welche Eigenschaften können Sie sehen? Möglicherweise gibt es eine Eigenschaft, die Ihr Problem verursacht – EndPostive

0

Wie sieht Ihr CSS aus? Wird das ausgewählte Element inline angezeigt? Denken Sie auch daran, Ihren Text in <p> Tags zu verpacken. Da der Code ohne CSS ist wie beabsichtigt:

let text = "La altura del Monte Everest es <select class='cs-select cs-skin-slide' id='memorySelect'></select> y es por eso considerado el monto más alto del mundo" 
 

 
$('body').html(text)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

Ja, die SELECT wird inline angezeigt Ich habe nur alle CSS gelöscht, nur um einen harten Test zu machen, und die JS platziert auch die SELECT unten:/ –

+0

@ LesterVargas Das ist seltsam Was passiert, wenn Sie Folgendes versuchen: var myHtml = $ .parseHTML (text); $ ('body'). Html (myHtml); – NoLoHo

+1

Ja, ich habe es auch ausprobiert:/Ich meine, ich glaube, ich habe jeden Trick ausprobiert Ich weiß, warum ich es posten, um zu sehen, ob ich etwas vermisse: / –