如何通过使用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);
你的代码有两个问题
- 要通过ID查找元素,必须在其前加“#”
- 当需要一个string时,你试图传递一个数字给查找函数(通过“#”+ 5会解决这个问题,因为它会先把5转换成“5”)
我不太了解jQuery,但试试这个:
row_id = "#5"; row = $("body").find(row_id);
编辑:当然,如果variables是一个数字,你必须添加"#"
的前面:
row_id = 5 row = $("body").find("#"+row_id);