2014-10-15 2 views
0

Я хочу предназначаться следующую строку с помощью тега тха данных data-filterОриентация элемента со значением в теге данных

<a href="?filter=open" class="list-group-item" data-filter="open">Open</a> 

Я использовал следующий код, но он не работает:

$('[data-filter]="open"').addClass('active'); 

Я получаю следующее сообщение об ошибке в консоли:

Error: Syntax error, unrecognized expression: [data-filter]="open"

+0

Селектор должен быть, как это '$ ('[данные -filter = "open"] '). addClass (' active '); ' – Benjamin

ответ

0

Вы можете использовать селектор атрибута с правильным синтаксисом:

$('[data-filter="open"]').addClass('active'); 

Или вы можете использовать много быстрее filter:

$('.list-group-item').filter(function() { 
    return $(this).data('filter') == 'open'; 
}).addClass('active'); 
+1

Я думаю, что '$ ('. List-group-item [data-filter =" open "]')' будет быстрее –

+0

@RoryMcCrossan Не могли бы вы объяснить, почему ваше предложение было бы быстрее? – Imran

0

Это должно быть [data-filter="open"]. См. http://www.w3schools.com/cssref/sel_attribute_value.asp.

+2

Пожалуйста, не используйте W3Schools для резервного копирования ваших ответов. W3Schools ужасно. Кроме того, документация API jQuery является окончательной ссылкой. –

+0

Я тоже не поклонник W3Schools, но в этом случае я хотел бы указать, что селектор - это просто простой селектор CSS3, который jQuery просто принимается в его селекторной системе. Что касается jQuery-документов, вот это: http://api.jquery.com/attribute-equals-selector/ – Simone

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