Safari - 错误:语法错误,无法识别的表达式:输入[data-card-type =“payment-one

时间:2015-08-21 18:52:10

标签: jquery safari syntax-error

在mac Safari(以及旧版本的FF v.38及更早版本)上,我们收到以下错误:

错误:语法错误,无法识别的表达式:输入[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的控制台中,红色显示: 错误:语法错误,无法识别的表达式:输入[data-card-type =“payment-one 并在错误下面写着: (匿名函数)

这看起来是否与jQuery 2.1.4冲突,或者可能还有其他错误?

1 个答案:

答案 0 :(得分:48)

这看起来像是一个Safari问题,但实际上它永远不应该有效。您需要关闭[data-card-type=paymentGroup语句,而不会结束] Safari会使用。我从经验得到的这个结论。 Chrome(我的主要开发浏览器)可以让它在没有一次窥视的情况下飞行,但Safari会中断(这是理所当然的,它无效)。

用以下代码替换您的代码:

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