-1

これは機能します(画面にテキストを出力します):

$(document).ready(function() {

var uspTot = 1
var keyTot = 5

    $('.field .button').click(function(){
    var theSibling = $(this).siblings('div').attr('id');
    if (theSibling == 'usp'){
       $(this).before('the string is usp')
       uspTot++ 
    } else if (theSibling == 'keywords')(
       $(this).before('the string is keywords') 
    )
});

ただし、これは何もしません:

$(document).ready(function() {

var uspTot = 1
var keyTot = 5

    $('.field .button').click(function(){
    var theSibling = $(this).siblings('div').attr('id');
    if (theSibling == 'usp'){
       $(this).before('the string is usp')
       uspTot++ 
    } else if (theSibling == 'keywords')(
       $(this).before('the string is keywords')
       keyTot++
    )
});

両者の唯一の違いは、次のコードです。

keyTot++

なぜこれが私の基本的なスクリプトを完全に壊しているのか理解できないので、ここの誰かが「ああ、それはあなたが XXXX を忘れたからです。あなたは愚かなことです」またはその趣旨の言葉を指摘して言ってくれることを願っています。

4

4 に答える 4

2

中括弧でタイプミスしました:

} else if (theSibling == 'keywords')(
       $(this).before('the string is keywords')
       keyTot++
    )

次のようにする必要があります。

} else if (theSibling == 'keywords'){
       $(this).before('the string is keywords')
       keyTot++
    }

中括弧は複数のコマンドで必須です。これが、エラーが発生しない理由です。

通常の中かっこを使用すると、コードは次のように扱われました。

} else if (theSibling == 'keywords')
    ($(this).before('the string is keywords'))

これは有効ですが、役に立たない...

于 2012-11-13T16:33:06.630 に答える
1
else if (theSibling == 'keywords')(
        $(this).before('the string is keywords')
        keyTot++
)

あなたは中括弧が欲しかった:

else if (theSibling == 'keywords'){
        $(this).before('the string is keywords')
        keyTot++
}
于 2012-11-13T16:32:59.707 に答える
0

中括弧を使用する必要がある場所に通常の括弧を使用しています。if と else の適切な構文はif(){} else if () {}両方のブロックが間違っています。

于 2012-11-13T17:06:42.153 に答える
-1

$this.before();ステートメントの後にセミコロンがありません。

于 2012-11-13T16:34:05.097 に答える