For example, the following selects a division with id="2":
row = $("body").find("#2");
How do I do something like this:
row_id = 5;
row = $("body").find(row_id);
The above syntax produces an error. I checked the jQuery documentation and answers here without success.
I don't know much about jQuery, but try this:
row_id = "#5";
row = $("body").find(row_id);
Edit: Of course, if the variable is a number, you have to add "#"
to the front:
row_id = 5
row = $("body").find("#"+row_id);
There are two problems with your code
Doing $('body').find();
is not necessary when looking up by ID; there is no performance gain.
Please also note that having an ID that starts with a number is not valid HTML:
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
You can do it like this:
row_id = 5;
row = $("body").find('#'+row_id);
The shortest way would be:
$("#" + row_id)
Limiting the search to the body doesn't have any benefit.
Also, you should consider renaming your id
s to something more meaningful (and HTML compliant as per Paolo's answer), especially if you have another set of data that needs to be named as well.
Source: Stackoverflow.com