Используете ли вы кавычки в jQuery при поиске значений атрибутов?
Если у меня есть ссылка, как это:
<a data-btn="login"></a>
Если бы я хотел выбрать в jQuery, используя атрибут данных, что мне делать?
var a = $("[data-btn='login']"); //This?
var a = $("[data-btn=login]"); //Or this?
3 ответа
Начиная с jQuery 1.5 оба подхода будут работать и работать одинаково.
jQuery раньше требовал кавычек вокруг значений атрибутов, поэтому ваш второй селектор не будет работать с предыдущими версиями. Если по какой-то причине вы застряли со старой версией, используйте первый селектор.
Даже в jQuery 1.5+ я все еще использую кавычки, так как иногда они не работают без них.
Забавно, я использую этот синтаксис:
var a = $('[data-btn="login"]');
это связано с моими годами в PHP, где (и это может открыть огромную банку червей) использование двойных кавычек, возможно, медленнее, потому что оно открыто для интерпретации переменных внутри них, тогда как строки с одинарными кавычками - нет, поэтому я использую одинарные кавычки чаще, чем нет.
Я также использую одинарные кавычки в основном в JavaScript, потому что он часто смешивается с HTML, который, технически, должен содержать все значения атрибутов в двойных кавычках, а не в одинарных кавычках, а использование одинарных кавычек избавляет меня от необходимости избегать кавычек.