Вопрос атрибута видимости - PullRequest
21 голосов
/ 22 апреля 2010

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

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

и

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

?

Ответы [ 3 ]

59 голосов
/ 22 апреля 2010

Делаем это:

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

Оставит только этот атрибут стиля, при этом:

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

Будет добавлять (или устанавливать) этот атрибут стиля.

Вот пример, первое всегда приведет к следующему:

style="visibility: hidden;"

Второй просто добавляет visibility, поэтому ваш стиль теперь может быть:

style="width: 50px; color: red; visibility: hidden;"
4 голосов
/ 22 апреля 2010

Ничего. Всего два способа достичь одной и той же цели.

Первый перезапишет любые существующие настройки стиля. Если у вас было:

<div style="font-weight: bold;" />

Это станет:

<div sytle="visibility: hidden;" />

Второй добавит настройку видимости к существующим стилям. Итак:

<div style="font-weight: bold;" />

Woudl стать:

<div style="font-weight: bold; visibility: hidden;" />

Если атрибут стиля уже не установлен, то оба будут давать один и тот же конечный результат.

0 голосов
/ 22 апреля 2010

На самом деле нет никакой разницы. $ .css () - это просто ярлык для доступа к атрибуту стиля css элемента dom.

http://api.jquery.com/css/

РЕДАКТИРОВАТЬ: Как указал Джастин, это разница в том, что метод .attr () будет перезаписывать любые существующие атрибуты стиля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...