В 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
Итак, вопрос в том, являются ли приведенные выше выражения кросс-браузерными?Могу ли я использовать их безопасно?
Было бы неплохо получить ссылку на статью, в которой рассматривается эта проблема.
Редактировать (основываясь на ответах): Выделенные жирным шрифтом выражения небезопасны!