#javascript #html #virtual-dom #hyperscript
#javascript #HTML #virtual-dom #hyperscript
Вопрос:
Я использую следующую библиотеку:https://github.com/hyperhype/hyperscript
Следующий код:
h('input', { list: "list-id"}),
h('datalist', { id: "list-id" }, [
h('option', ["Option 1"]),
])`
приводит к:
<input>
<datalist id="list-id">
<option>Option 1</option>
</datalist>
У элемента input отсутствует свойство list, т. е. Он должен выглядеть как <input list="list-id">
Что я делаю не так?
Комментарии:
1. Обратите внимание, что hyperscript задает свойства для объекта элемента DOM, а не атрибуты для элемента HTML.
2. Хорошо, итак, что я делаю не так?
list
является допустимым свойствомinput
объекта element.3. Вы не делаете ничего неправильного . Я полагаю, вы решили использовать API, который не полностью поддерживает атрибуты HTML 5 и у которого буквально нет документации для поддержки вас (я полагаю, некоторые сочли бы этот выбор неправильным ). Рад, что у вас все получилось.
Ответ №1:
Мне удалось решить это с помощью:
h('input', { attributes: { 'list': "list-id" } })
h('datalist', { id: "list-id" }, [
h('option', ["Option 1"]),
])`
Комментарии:
1. Потрясающе. молодец. Основываясь на полном отсутствии документации, я полагаю, что это не конец ваших проблем. Удачи вам.
2. @RandyCasburn Да, до сих пор мне удавалось кое-что делать. Библиотека довольно маленькая и является частью
virtual-dom
one. Я пытаюсь реализоватьThe Elm Architecture
с помощью ванильного Javascript , поскольку мне не нравится раздутие фреймворков, таких как React.