jQuery имеет метод attr()
, который извлекает значение данного атрибута HTML. Например:
var foo = document.getElementById("foo");
$(foo).attr("id");
Но с точки зрения производительности это не оптимально, так как объект jQuery должен быть создан просто для вызова метода attr()
. Это лучше работает: foo.id
.
Итак, в идеале мы бы хотели избежать использования attr()
. Но можем ли мы это сделать (для любого атрибута)? Я считаю, что foo.id
и foo.value
являются "безопасными" (кросс-браузер), но я помню, что у меня были проблемы с foo.href
.
Вот список различных атрибутов, которые я хотел бы получить "напрямую":
Для любого элемента: foo.id
, foo.name
Для якорей: foo.href
, foo.target
, foo.rel
Для изображений, объектов, iframes: foo.src
, foo.width
, foo.height
Для элементов формы: foo.checked
, foo.selected
, foo.disabled
, foo.readonly
, foo.type
, foo.value
, foo.action
Итак, вопрос в том, являются ли приведенные выше выражения кросс-браузером? Могу ли я использовать их безопасно?
Ссылка на статью, в которой рассматривается эта проблема, также будет приятной.
Изменить (на основе ответов): Выражения, выделенные полужирным шрифтом, небезопасны!