例如,以下选择id =“2”的除法:
row = $("body").find("#2");
我该怎么做:
row_id = 5;
row = $("body").find(row_id);
上述语法会产生错误。我检查了jQuery文档和答案,但没有成功。
答案 0 :(得分:176)
row = $("body").find('#' + row_id);
更重要的是,执行额外的body.find对性能没有影响。正确的方法是:
row = $('#' + row_id);
答案 1 :(得分:44)
最短的方式是:
$("#" + row_id)
将搜索限制在身体上没有任何好处。
此外,您应该考虑将id
重命名为更有意义的内容(根据Paolo的回答符合HTML标准),尤其是如果您还有另一组需要命名的数据。
答案 2 :(得分:26)
按ID查询时无需执行$('body').find();
;没有性能提升。
另请注意,拥有以数字开头的ID为not valid HTML:
ID和NAME令牌必须以字母([A-Za-z])开头,后面可以跟任意数量的字母,数字([0-9]),连字符(“ - ”),下划线(“ _“),冒号(”:“)和句号(”。“)。
答案 3 :(得分:5)
你可以这样做:
row_id = 5;
row = $("body").find('#'+row_id);
答案 4 :(得分:1)
您的代码存在两个问题
答案 5 :(得分:0)
我对jQuery了解不多,但试试这个:
row_id = "#5";
row = $("body").find(row_id);
编辑:当然,如果变量是数字,则必须在前面添加"#"
:
row_id = 5
row = $("body").find("#"+row_id);