Javascript 为什么jquery选择器会给我错误?未捕获异常:语法错误,无法识别的表达式:“”

Javascript 为什么jquery选择器会给我错误?未捕获异常:语法错误,无法识别的表达式:“”,javascript,jquery,Javascript,Jquery,我正在使用这段代码动态选择元素的属性,但它在firebug中给了我一个错误 错误: 未捕获异常:语法错误,无法识别的表达式: 这是我的密码: jQuery('.mydata').click(function(){ var current_id=jQuery(this).attr('id'); var current_datatype=jQuery(this).attr('datatype'); var next_id=parseInt(current_id);

我正在使用这段代码动态选择元素的属性,但它在firebug中给了我一个错误

错误:

未捕获异常:语法错误,无法识别的表达式:

这是我的密码:

jQuery('.mydata').click(function(){

    var current_id=jQuery(this).attr('id');
    var current_datatype=jQuery(this).attr('datatype');

    var next_id=parseInt(current_id);

    next_id=next_id+1;

    next_id="'#"+next_id+"'";

    var next_datatype=jQuery(next_id).attr('datatype'); //this line gives error

});
如果你这样做呢


下一个id=+下一个id;而不是next_id='+next_id+'

选择id时,如果将其分配给变量,则不需要引号

更改:

next_id="'#"+next_id+"'";
var next_datatype=jQuery(next_id).attr('datatype'); //this line gives error
进入:


我想你不需要额外的报价

next_id="'#"+next_id+"'";
应该阅读

next_id="#"+next_id;
改变这个

next_id="'#"+next_id+"'";
对此

next_id="#"+next_id;

您的选择器变成类似于“2”而不是2。您需要删除“额外的”。此外,在使用parseInt时必须输入基数,如parseIntcurrentId,10。

每个答案都是正确的,那么我应该接受哪一个?
next_id="#"+next_id;