Я все еще изучаю JS и HTML, и я хочу знать, могу ли я использовать атрибуты, которые не существуют по умолчанию, могу ли я добавить новый из html? могу ли я добавить новый из JS?Могу ли я добавлять пользовательские атрибуты в элементы html?
ответ
Вы можете установить любые атрибуты, которые вы хотите использовать в своих элементах html.
Если вы используете JQuery см: http://api.jquery.com/attr/#attr2
$("#elementID").attr("customAttr", "Anything you want");
Без JQuery
var myElement = document.getElementById('elementID');
myElement.setAttribute("customAttr", "Anything you want");
Как я могу получить элемент, который использует настраиваемый атрибут? $ ("span [data-attribute = 'my value']"); не работает –
Посмотрите на [jQuery documentation] (http://api.jquery.com/category/selectors/attribute-selectors/), чтобы выбрать атрибут. Или вы можете добавить идентификатор к элементу и выбрать его по id. Если он не работает, я рекомендую вам воссоздать проблему на [jsFiddle] (http://jsfiddle.net/). – rousseauo
Что-то, как это должно работать:
var x = document.getElementById('yourid');
x.setAttribute("TestAttribute", "TestValue");
Привет, Алек, вы можете увидеть мой комментарий выше? –
Я бы отложил на jQuery api: http://api.jquery.com/attribute-equals-selector/ Ссылка выше имеет достойный пример. Поиск «jQuery get element by attribute» даст вам множество примеров. – alec
Спасибо alec, этот метод не работает для настраиваемых атрибутов –
Да. Просто используйте атрибуты 'data-' HTML5. http://html5doctor.com/html5-custom-data-attributes/ – Terry
Спасибо Терри, но как я могу получить элемент после этого, где эти атрибуты = что-то, например: $ ("span [data-attribute = 'my value '] ") .. Я пробовал это, но он не работает, зная, что мой вход имеет следующее: –
Это потому, что вы выбираете элемент' ' с атрибутом 'data-attribute', значением которого является' my value'. Если вы хотите совместить ввод, используйте '$ (" input [data-attribute = 'my value'] ")'. Если после этого вы хотите совместить элемент span, используйте общий или непосредственный селектор: '$ (" input [data-attribute = 'my value'] ~ span ")' или '$ (" input [data-attribute = 'my value'] + span ")'. – Terry