Safari - Ошибка: ошибка синтаксиса, нераспознанное выражение: input [data-card-type = "payment-one

на Mac Safari (и более ранних версиях FF v.38 и старше) мы получаем следующую ошибку:

Ошибка: Синтаксическая ошибка, непризнанное выражение: input [data-card-type = "payment-one"

jQuery Версия: https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js

$(this).change(function() {
  if($(this).val() != '' ) {
    $('input[data-card-type="'+paymentGroup+'"').val('').prop('disabled',true);

В Safari Console красным цветом отображается: Ошибка: ошибка синтаксиса, нераспознанное выражение: input [data-card-type = "payment-one и ниже ошибки он гласит: (анонимная функция)

Похоже, что это похоже на конфликт с jQuery 2.1.4, или, возможно, что-то еще неверно?

Ответ 1

Это похоже на проблему Safari, но на самом деле это никогда не должно было работать. Вам нужно закрыть оператор [data-card-type=paymentGroup, без этого окончания ] Safari будет бросать подгонку. Я знаю это по опыту. Chrome (мой главный браузер-разработчик) позволит ему летать без единого загляда, но Safari ломается (и, по правде говоря, его недействительно).

Замените код следующим образом:

$(this).change(function() {
   if($(this).val() != '' ) {
     $('input[data-card-type="'+paymentGroup+'"]').val('').prop('disabled',true);