这有效(它会在屏幕上打印一些文字):
$(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,你愚蠢的事情” - 或者说是这样的话。 / p>
答案 0 :(得分: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'))
哪个有效,但没用......
答案 1 :(得分:1)
else if (theSibling == 'keywords')(
$(this).before('the string is keywords')
keyTot++
)
你想要花括号:
else if (theSibling == 'keywords'){
$(this).before('the string is keywords')
keyTot++
}
答案 2 :(得分:0)
你正在使用常规支撑,你应该使用花括号。
if和else的正确语法是if(){} else if () {}
所以你的两个块都错了。
答案 3 :(得分:-1)
$this.before();
语句后您缺少分号。