-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 回答