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

Если у меня есть ссылка вроде этого:

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

Если я хотел бы выбрать в jQuery, используя атрибут data, который я должен делать?

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

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

Ответ 1

Как и в jQuery 1.5, оба подхода будут работать и будут работать одинаково.

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

Ответ 2

Даже в jQuery 1.5+ я все еще использую кавычки, так как иногда они не работают без них.

Ответ 3

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

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

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

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