Вопрос атрибута видимости
В чем разница между
$("#myid").attr("style", "visibility: hidden")
и
$("#myid").css("visibility", "hidden")
?
Ответы
Ответ 1
Выполнение этого действия:
$("#myid").attr("style", "visibility: hidden")
Откроется только этот атрибут стиля, делая следующее:
$("#myid").css("visibility", "hidden")
Будет добавить (или установить) этот атрибут стиля.
Вот пример: первый будет всегда:
style="visibility: hidden;"
Вторая добавляет visibility
, поэтому ваш стиль теперь может быть:
style="width: 50px; color: red; visibility: hidden;"
Ответ 2
Ничего. Только два пути для достижения одной и той же цели.
Первая перезапишет любые существующие настройки стиля. Если у вас есть:
<div style="font-weight: bold;" />
Это станет следующим:
<div sytle="visibility: hidden;" />
Вторая добавит настройки видимости к существующим стилям. Итак:
<div style="font-weight: bold;" />
Woudl станет:
<div style="font-weight: bold; visibility: hidden;" />
Если атрибут стиля уже не установлен, то оба будут иметь тот же конечный результат.
Ответ 3
На самом деле нет никакой разницы. $.css() - это просто метод ярлыков для доступа к атрибуту стиля CSS для элемента dom.
http://api.jquery.com/css/
EDIT: Как указал Justin, существует разница в том, что метод .attr() перезапишет любые существующие атрибуты стиля.