Пользовательские атрибуты JQuery
Я думаю об использовании пользовательских атрибутов в JQuery, чтобы избежать использования атрибутов класса или идентификатора, чтобы не мешать конструкторам html.
Принимая во внимание эту идею, html должен быть таким, как:
<ul Jquery="CommonUl">
<li Jquery="CommonLi"></li>
<li Jquery="CommonLi"></li>
<li Jquery="CommonLi"></li>
<li Jquery="CommonLi"></li>
<li Jquery="CommonLi"></li>
</ul>
-
Считаете ли вы, что это хороший подход?
-
Каково ваше мнение о валидации W3C этих пользовательских атрибутов?
-
Знаете ли вы какой-либо способ программирования с помощью Jquery, не мешая работе дизайнеров html?
-
Что касается производительности, я полагаю, что с атрибутами класса или идентификаторами селектора jquery быстрее, чем использование настраиваемого атрибута и функции фильтрации, такие как "содержит и т.д.". Правильно ли это?
Ответы
Ответ 1
Вы можете сделать это, используя data-
атрибуты, хотя (часть спецификации HTML5), например:
<li data-something="CommonLi"></li>
jQuery даже имеет встроенную поддержку для них в версии 1.4.3+, например:
$("li").data("something") //"CommonLi"
По другим вопросам:
- Они подтвердят, если он HTML5, но ничего не сломает в HTML4
- Это не должно мешать дизайнеру, но это будет зависеть от того, какой дизайнер
- Если вы извлекаете элемент из элемента, производительность такая же, как и любой другой атрибут
Ответ 2
если вы планируете иметь несколько атрибутов, я предлагаю установить уникальный атрибут имен, например.
<li data-yourapp>...</li>
и использовать этот атрибут как хэш-таблицу
$("li").data("yourapp", {
points : 2000,
life : 1,
weapons : {
firegun : 0,
missiles : 12
}
});
таким образом вы уменьшите доступ к элементу, и вы будете получать все пользовательские данные один раз
Ответ 3
Я лично рекомендую вам использовать встроенный метод jquery для сохранения данных с каждым элементом.
Ниже приведен фрагмент кода для сохранения данных:
$("ul").data("CommonUl");
$("li").data("CommonLi");