2017-02-22 92 views
0

У меня есть следующий текстАнализировать текст, есть HTML внутри

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" 

После добавления выбора параметров с помощью JS, я добавляю в моем теле, как это.

$('body').html(text) 

Так что мой результат заключается в следующем

enter image description here

Вот где проблема !. Является ли моя строка мне нужно HTML для разбора в БЛИЖНЕМ текста, НЕ в конце

Таким образом, результат будет следующим

enter image description here

Почему HTML идет вниз ? Я пробовал то же самое с тремя структурами HTML, и все 3 спускаются, а текст остается наверху.

UPDATE: Это CSS из SELECT,

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

отлично работает в JSFiddle https://jsfiddle.net/9jmn8vwv/? Я предполагаю, что он основан на форматировании CSS элемента select, убедитесь, что он использует что-то вроде 'display: inline-block'. –

+0

У вас есть css в вашем файле? Возможно, ваш выбор имеет 'float'? Используя свой код как есть, он работает, как и планировалось: https://jsfiddle.net/mspinks/088f8z8b/4/ –

+0

Проверьте свой CSS, есть некоторые классы на выбранном, которые, вероятно, могут быть причиной этого. –

ответ

0

Попробуйте сделать это:

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>" 

А затем отображать элементы инлайн. Должен работать :)

+0

Нет :(результат тот же, с большим краем сверху и снизу, но SELECT находится внизу :( –

+0

@ LesterVargas, если вы запустите страницу на хроме и проверите элемент, какие свойства вы можете увидеть? Возможно, есть свойство, которое вызывает вашу проблему. – EndPostive

0

Как выглядит ваш CSS? Является ли элемент выбора отображаемым в строке? Также рассмотрите обертывание текста в тегах <p>. Потому что ваш код без CSS работает как задумано:

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

Да, SELECT отображается в строке. Я просто удалил все CSS только для проведения жесткого теста, а JS также поместил SELECT внизу:/ –

+0

@LesterVargas Это странно Что произойдет, если вы попробуете что-то вроде этого: var myHtml = $ .parseHTML (текст); $ ('body'). Html (myHtml); – NoLoHo

+1

Да, я также пробовал:/Я имею в виду, я думаю, что я пробовал каждый трюк Я знаю, почему я публикую его, чтобы увидеть, есть ли что-то, что мне не хватает: / –