如何通过使用ID的variablesselectjQuery中的元素?

例如,以下selectid =“2”的分区:

row = $("body").find("#2"); 

我如何做这样的事情:

 row_id = 5; row = $("body").find(row_id); 

上面的语法产生一个错误。 我检查了jQuery文档,并在这里回答没有成功。

 row = $("body").find('#' + row_id); 

更重要的是做额外的body.find对性能没有影响。 正确的做法是:

 row = $('#' + row_id); 

最短的方法是:

 $("#" + row_id) 

限制search到身体没有任何好处。

另外,您应该考虑将您的id重命名为更有意义的内容(根据Paolo的答案,HTML兼容),特别是如果您还有另外一组需要命名的数据。

$('body').find(); 用ID查找时没有必要; 没有性能收益。

另请注意,以数字开头的ID是无效的HTML :

ID和NAME标记必须以字母([A-Za-z])开头,后面跟着任意数量的字母,数字([0-9]),连字符(“ – ”),下划线(“_”) ,冒号(“:”)和句点(“。”)。

你可以这样做:

 row_id = 5; row = $("body").find('#'+row_id); 

你的代码有两个问题

  1. 要通过ID查找元素,必须在其前加“#”
  2. 当需要一个string时,你试图传递一个数字给查找函数(通过“#”+ 5会解决这个问题,因为它会先把5转换成“5”)

我不太了解jQuery,但试试这个:

 row_id = "#5"; row = $("body").find(row_id); 

编辑:当然,如果variables是一个数字,你必须添加"#"的前面:

 row_id = 5 row = $("body").find("#"+row_id);