rus*_*ell 6 variables jquery click
PROPB.很简单,但不适合我.希望在单击函数上传递变量,以根据单击的链接显示div a或div b.我的代码是这样的
$('.view').click(function() {
var id = this.id.replace('view_', "");
if(id=1) { $('#show').show('slow'); }
if(id=2 ) { $('#show2').show('slow'); }
$('#categories').hide('slow');
return false;
});
});
Run Code Online (Sandbox Code Playgroud)
但显然if语句是错误的 - 我知道我只是以它们为例.任何建议?谢谢,谢谢
您的值分配1
到id
的,而不是测试匹配:
if(id = 1) {} // WRONG: this means if id is successfully SET to 1
Run Code Online (Sandbox Code Playgroud)
这是它应该是什么样子:
$('.view').click(function() {
var id = this.id.replace('view_', "");
if(id == 1) { $('#show').show('slow'); }
else if(id == 2 ) { $('#show2').show('slow'); }
$('#categories').hide('slow');
return false;
});
Run Code Online (Sandbox Code Playgroud)
如果你发现自己犯了很多错误,你应该改变测试:
if( 1 == id) {} // Works
if( 1 = id ) {} // Throws JS error instead of failing silently
Run Code Online (Sandbox Code Playgroud)
尝试这个...
var id = parseInt(this.id.replace('view_', ""), 10);
if(id === 1) {
$('#show').show('slow');
} else if(id === 2 ) {
$('#show2').show('slow');
}
Run Code Online (Sandbox Code Playgroud)
1 '='用于赋值
2 '=='是带类型转换的比较
3 '==='是不带类型转换的比较