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

时间:2011-08-04 10:49:09

标签: javascript jquery

我正在使用此代码ti动态选择元素的属性,但它在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

});

5 个答案:

答案 0 :(得分:4)

如果你这样做

next_id = "#" + next_id;代替next_id="'#"+next_id+"'";

答案 1 :(得分:4)

选择ID时,如果将其分配给变量

,则不需要引号

变化:

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

成:

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

答案 2 :(得分:1)

我认为你不需要额外的报价

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

应该阅读

next_id="#"+next_id;

答案 3 :(得分:1)

改变这个......

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

到此......

next_id="#"+next_id;

答案 4 :(得分:0)

您的选择器变为'#2'而不是#2。你需要删除额外的'。另外,你不应该在不传入基数的情况下使用parseInt,例如parseInt(currentId, 10)