2012-07-02 2 views
3

Я использовал следующие определения, если элемент скрыт:Есть ли способ в jQuery определить, имеет ли элемент класс?

if ($("#sidebar").is(':hidden')) { 

Есть ли какой-то способ, которым я мог бы определить, если #sidebar имеет класс «черный» вместо проверки, если она скрыта?

+4

http://api.jquery.com/ Для справок в будущем, api ref действительно очень классно ... – nbrooks

ответ

4

Вы можете использовать .hasClass('black'):

if($('#sidebar').hasClass('black'); 

Или, вы можете использовать .is() для большей гибкости:

if($('#sidebar').is('.black'); 

.is() позволяет фильтровать элемент, используя различные другие селекторы Предложения jQuery. Обратите внимание, что .hasClass() быстрее, однако, как указано в this answer.

+0

удалил '$', так как '$ .something' обычно используется для обозначения статических методов jQuery, которые не вызываются в объект jQuery. – ThiefMaster

+0

@ Спасибо Спасибо, я буду иметь в виду это, когда буду отвечать в будущем. – Bojangles

+0

++ 1 вам, новичок! –

9

Api: .hasClass('black') будет делать трюк для вас Рабочих Демонстрационногоhttp://jsfiddle.net/xvA8d/2/

Ссылки: http://api.jquery.com/hasClass/

Определить, является ли какой-либо из соответствующих элементов назначены данный класса.

3
if($("#sidebar").hasClass('black')) 
+0

++ 1 вам не нравится! ':)' –

3
if ($("#sidebar").hasClass('black')) { 

doc.

+0

++ 1 вам не нравится! –

4
if ($("#sidebar").hasClass('black')) { 
+0

++ 1 вам, пожалуйста! –

6

Есть довольно много способов:

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

  • hasClass: Обычно лучший выбор, проверяет, имеет ли элемент данный класс, независимо от того, имеет ли он и другие классы.
  • is: проверяет селектор. Более медленный, чем hasClass, поскольку он вызывает механизм селектора, кроме того, это не совсем по-другому. Более гибкий, поскольку вы можете смешивать его с другими установщиками селекторов, просто проверяя класс, если он вам когда-либо понадобится.
  • className: Проверяет, имеет ли элемент только данный класс. Обычно не то, что вы хотите, но упоминается, так как это is путь.
+2

++ 1 вам, пожалуйста! bruv, поздравляю вас с новой ролью модератора. ':)' –

Смежные вопросы