jQuery: отсутствует; перед инструкцией

#javascript #jquery #compiler-errors #syntax-error

#javascript #jquery ( jquery ) #ошибки компилятора #синтаксическая ошибка #jquery

Вопрос:

Я понятия не имею, почему я получаю эту ошибку (я прочитал каждую тему с похожим названием, но ответы на эти вопросы не применимы):

 $(document).ready(function() {

postAndFade($node, post_key) {
    var id = $node.parents.('.id').find('.id-value').text();
    var post_val = $node.text();
    $node.fadeOut('slow');

    $.ajax({
        type: "POST",
        url: "process.php",
        data: "id=" id "amp;" post_key "=" post_val,
        success: function(data) {
            $node.html(data);
            $node.fadeIn('slow');           
        }
    });
    return false;
}

$('.featured-value').click(function() { return postAndFade($this, 'featured'); });
$('.visible-value').click(function() { return postAndFade($this, 'visible'); });

});
  

Комментарии:

1. Какая версия jQuery? Загружаете ли вы jquery.js локально или через внешний CDN?

2. CDN, последняя версия, я полагаю

3. В следующий раз я бы рекомендовал запускать ваш код через JSLint или JSBin (или что-то еще). Или, может быть, используйте средство проверки синтаксиса закрытия YUI или Google.

Ответ №1:

 postAndFade($node, post_key) {
  

Вам не хватает function ключевого слова.

 var id = $node.parents.('.id').find('.id-value').text();
  

У вас есть дополнительный . после parents .

Комментарии:

1. спасибо всем, я приму этот ответ, так как Джереми понял две вещи.

Ответ №2:

Вы не объявляете здесь функцию с ключевым function словом .

 postAndFade($node, post_key)
  

Ответ №3:

Должно быть так:

 function postAndFade($node, post_key) {
  

Ответ №4:

вам не хватает ключевого function слова перед определением вашей функции postAndFade .