Подтвердить что ты не робот

Вопрос атрибута видимости

В чем разница между

$("#myid").attr("style", "visibility: hidden")

и

$("#myid").css("visibility", "hidden")

?

4b9b3361

Ответ 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() перезапишет любые существующие атрибуты стиля.