Существует ли способ создать Ваш собственный элемент HTML? Я хочу сделать специально разработанный флажок.
Я предполагаю, что такая вещь была бы сделана в JavaScript. Что-то сродни document.createHTMLElement
но способность разработать Ваш собственный элемент (и тег).
Да, вы можете создавать свои собственные теги. Вы должны создать схему и импортировать ее на свою страницу, а также написать слой JavaScript для преобразования ваших новых тегов в существующие теги HTML.
Примером может служить fbml
(Facebook Markup Language), который включает схему и слой JavaScript, написанный Facebook. См. это: Протокол Open Graph.
Используя его, вы можете очень легко сделать кнопку like:
<fb:like href="http://developers.facebook.com/" width="450" height="80"/>
Нет, нет.
Элементы HTML ограничены тем, что будет обрабатывать браузер. То есть, если вы создали настраиваемый плагин firefox, а затем заставили его обрабатывать ваш специальный тег, то вы «могли» сделать это для различных интерпретаций «делать это». Список всех элементов для конкретной версии HTML можно найти здесь: http://www.w3.org/TR/html4/index/elements.html
Вероятно, однако, вы на самом деле не хотеть. Если вы хотите «объединить» несколько существующих элементов таким образом, чтобы они работали вместе, вы можете сделать именно этот JavaScript. Например, если вы хотите, чтобы при нажатии флажка отображался где-нибудь раскрывающийся список, заполненный различными элементами, вы можете это сделать.
Возможно, вы захотите подробнее рассказать о том, чего вы действительно хотите достичь, и мы сможем вам помочь.
Вам необходимо написать собственный тип документа или / и использовать для этого собственное пространство имен.
Нет, нет. Более того, это запрещено в HTML5.
Взгляните на Ample SDK JavaScript-библиотеку GUI, которая позволяет использовать любые пользовательские элементы или пространства имен событий на стороне клиента (таким образом, например, там был реализован XUL) без нарушения правил HTML5.
Посмотрите, например, как реализован элемент масштабирования XUL: http://github.com/clientside/amplesdk/blob/master/ample/languages/xul/elements/scale.js и его Таблица стилей по умолчанию: http://github.com/clientside/amplesdk/blob/master/ample/languages/xul/themes/default/input.css
Это правильный вопрос, но я думаю, что название игры со стороны пользовательского интерфейса - прогрессивная разметка. Создайте допустимые теги, совместимые с w3, а затем соответствующим образом стилизуйте их с помощью javascript (в моем случае Jquery или Dojo) и CSS. Хорошо написанный блок CSS можно использовать снова и снова (мой любимый случай - JQuery UI с themeroller) и стилизовать практически любой элемент на странице с добавлением одного или двух слов к объявлению класса.
Вот несколько хороших решений Jquery / Javascript / CSS, которые относительно просты:
http://www.filamentgroup.com/examples/customInput/ http://aaronweyenberg.com/90/pretty-checkboxes -with-jquery http://www.protofunc.com/scripts/jquery/checkbox-radiobutton/
Вот спецификация предстоящего (и многообещающего) обновления JqueryUI для элементов формы: http: / /wiki.jqueryui.com/Checkbox
Если вам нужно проверить ввод, это простой способ получить встроенную проверку с помощью одного тега класса или идентификатора: http://www.position-absolute.com/ article / jquery-form-validator-because-form-validation-is-a-mess /
Итак, мое решение - это не 10-символьное однострочное решение. Однако, если не брать в расчет код JQuery, каждый отдельный тег будет не намного больше, чем:
<input type="checkbox" id="theid">
Итак, хотя будет средний фрагмент кода JQuery, отдельные элементы будут очень маленькими, что важно, если вы повторяете его. 250 раз (программно), как требовал мой последний проект. Его легко кодировать, он хорошо деградирует, хорошо проверяет и, поскольку прогрессивная разметка будет на стороне пользователя, практически не требует затрат на стороне сервера.
Мой текущий проект находится в Symfony - не мой выбор - который использует сложные, громоздкие серверные теги для рендеринга элементов формы, проверки, выполнения javascript onclick, стиля и т. Д. Это похоже на то, о чем вы просили сначала .... и позвольте мне сказать вам, что это КЛАНКИ. Один тег для вызова ссылки может состоять из 10 строк кода! После того, как меня заставили это сделать, я не фанат.
Хм. Первая мысль - создать собственный элемент и преобразовать его с помощью XSLT в валидный HTML.
Самый простой способ - написать плагин, скажем, на Jquery (или Dojo, MooTools, выбирайте сами). В случае jQuery вы можете найти некоторые плагины здесь http://plugins.jquery.com/ и использовать их в качестве образца.