#javascript #node.js #pug #markup
#javascript #node.js #pug #разметка
Вопрос:
Как разместить более 1 вложенного элемента в абзаце, который у меня есть
p изображение элемента метки .группаввода введите#addItemFile.form-элемент управления (тип='файл') input.form-элементуправления(тип='text', только для чтения=") span.input-group-addon.btn.btn-default.btn-file.btn-основной просмотр
И ожидать
<input class="form-control" id="addItemFile" type="file">
<input class="form-control" type="text" readonly="">
<span class="input-group-addon btn btn-default btn-file btn-primary">Browse</span>
Но я получаю
<p>
<label>Item image</label>
</p>
<div class="input-group"><input class="form-control" id="addItemFile" type="file">
<input class="form-control" type="text" readonly="">
<span class="input-group-addon btn btn-default btn-file btn-primary">Browse</span>
</div>
Спасибо!
Комментарии:
1. Это было моей глупостью — заключать элементы формы в тег <p> , лучше использовать для этого класс .form-group 🙂
Ответ №1:
Имеющийся у вас код будет генерировать разметку с div внутри абзаца. Проблема в том, что HTML запрещает отображение там divs, поэтому браузер неявно завершит абзац перед div, а затем отбросит тег end для абзаца.
Вместо этого вам нужно использовать элемент, который разрешен внутри абзаца.
например span.input-group
Ответ №2:
Попробуйте вместо этого следующее:
p label Item image
.input-group
input#addItemFile.form-control(type='file')
input.form-control(type='text', readonly='')
span(class="input-group-addon btn btn-default btn-file btn-primary") Browse
Приведенный выше код отлично подходит для меня. Вывод в Firefox:
<p> label Item image<div class="input-group"><input id="addItemFile" type="file" class="form-control"><input type="text" readonly="" class="form-control"><span class="input-group-addon btn btn-default btn-file btn-primary">Browse</span></div></p>
Комментарии:
1. aramboyajyan.github.io/online-jade-template-editor говорит «[jade] неожиданный токен «отступ»», когда я пытаюсь это сделать.
2. Хммммм, вероятно, это проблема с тем, как я это воспроизвел. К сожалению, JSFiddle в данный момент не подходит для меня, что усложняет ситуацию, но я сделаю еще один заход и отредактирую рабочий код, поскольку концепция решения верна…
3. Исправлено. На моем сервере все работает нормально с правильным отступом (отказался от JSFiddle).
4. У него та же проблема, что и у исходного кода. Он пытается поместить
<div>
внутри абзаца, что недопустимо.5. Я могу понять, если спецификации этого не позволяют, но приведенный выше код действительно вставляет div внутри
<p>
элемента, когда Jade переносится в HTML.