Используете ли вы кавычки в jQuery при поиске значений атрибутов?

Если у меня есть ссылка, как это:

<a data-btn="login"></a>

Если бы я хотел выбрать в jQuery, используя атрибут данных, что мне делать?

var a = $("[data-btn='login']");  //This?

var a = $("[data-btn=login]");    //Or this?

Ответы на вопрос(3)

так как иногда они не работают без них.

Решение Вопроса

оба подхода будут работатьи функционируют одинаково.

jQuery раньше требовал кавычек вокруг значений атрибутов, поэтому ваш второй селектор не будет работать с предыдущими версиями. Если по какой-то причине вы застряли со старой версией, используйте первый селектор.

 C.J.03 апр. 2012 г., 06:38
Звучит отлично, спасибо.
 BoltClock♦03 апр. 2012 г., 06:25
@ C.J .: Я использую кавычки со всеми моими селекторами атрибутов, поэтому в противном случае у меня не будет проблем со специальными символами Это важно, когда речь идет о CSS, и я считаю, что это относится и к jQuery. Я на самом деле в процессе написания вопросов и ответов, детализирующих различия между jQuery и CSS-селекторами - возможно, я должен сделать это и опубликовать его.
 BoltClock♦27 авг. 2016 г., 17:59
@ BobStein-VisiBone: «оба» в моем исходном ответе предназначались для обозначения «как использования кавычек, так и не использования кавычек», как показано в вопросе, а не «как одинарные, так и двойные кавычки».
 C.J.03 апр. 2012 г., 06:23
Один считается лучшей практикой, чем другой? Поддерживает ли CSS и то и другое?
 Bob Stein27 авг. 2016 г., 18:08
Стенд исправлен. (У меня были проблемы с обеими кавычками на мозге.) В любом случае, новая ссылка объясняет оба варианта (с и без, одинарный и двойной).

Забавно, я использую этот синтаксис:

var a = $('[data-btn="login"]');

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

Я также использую одинарные кавычки в основном в JavaScript, потому что он часто смешивается с HTML, который, технически, должен содержать все значения атрибутов в двойных кавычках, а не в одинарных кавычках, а использование одинарных кавычек избавляет меня от необходимости избегать кавычек.

Ваш ответ на вопрос