jQuery - 意外的标识符

时间:2014-03-04 08:41:32

标签: javascript jquery

这个错误是什么意思? "Uncaught SyntaxError: Unexpected identifier"

我明白了:

 $('#prepare_payment’).attr('disabled','true');
     jQuery('#prepare_payment_form :text').each(function() {
     jQuery(this).attr('disabled', 'true');
 });

这也是:

$.post(ajaxurl, data, function(response) {

   if(response.indexOf(“Error: “) != -1) {
      $('#paypal_error').css('display', 'block');
      $('#paypal_error').html(response);
      $('#prepare_payment').removeAttr(disabled”);
      jQuery(“#prepare_payment_form :text”).each(function() {
         jQuery(this).removeAttr(“disabled”);
      });
      return false;
   }

有谁能告诉我这个错误意味着什么以及它出现的原因?

3 个答案:

答案 0 :(得分:5)

您需要在代码中将所有更改为"',因此请更改:

'#prepare_payment’
“Error: “
disabled”
“#prepare_payment_form :text”
“disabled”

为:

'#prepare_payment'
'Error: '
'disabled'
'#prepare_payment_form :text'
'disabled'

最终代码如下:

$.post(ajaxurl, data, function(response) {
   if(response.indexOf('Error: ') != -1) {
      $('#paypal_error').css('display', 'block');
      $('#paypal_error').html(response);
      $('#prepare_payment').removeAttr('disabled');
      jQuery('#prepare_payment_form :text').each(function() {
         jQuery(this).removeAttr('disabled');
      });
      return false;
   }
});

答案 1 :(得分:0)

引号应为'"而不是

  jQuery("#prepare_payment_form :text").each(function() {
     jQuery(this).removeAttr("disabled");
  })

同样,无效

$('#prepare_payment')

我还假设$.post()已正确关闭

答案 2 :(得分:0)

您使用两种类型的引号来分隔相同的字符串。如果你看看:

$('#prepare_payment’

你看到你用'分隔符开始字符串,并以`字符(不是字符串分隔符)结束它。有两个有效的字符串分隔符:'和'。对于每个字符串,您可以选择使用这两个分隔符中的哪一个,但不能混用它们。

因此,可以使用以下两个选项之一修复您的错误:

$('#prepare_payment'
$("#prepare_payment"

jQuery(“#prepare_payment_form :text”)声明中,您使用的是字符,这些字符应该是'或'字符:

jQuery('#prepare_payment_form :text')
jQuery("#prepare_payment_form :text")