Par exemple, ce qui suit sélectionne une division avec id = "2":
row = $("body").find("#2");
Comment puis-je faire quelque chose comme ça:
row_id = 5;
row = $("body").find(row_id);
La syntaxe ci-dessus génère une erreur. J'ai vérifié la documentation de jQuery et y répond sans succès.
row = $("body").find('#' + row_id);
Plus important encore, le complément body.find n'a aucun impact sur les performances. La bonne façon de faire est simplement:
row = $('#' + row_id);
Le chemin le plus court serait:
$("#" + row_id)
Limiter la recherche au corps n'a aucun avantage.
En outre, vous devriez envisager de renommer votre id
s en quelque chose de plus significatif (et conforme à HTML conformément à la réponse de Paolo), en particulier si vous avez également un autre ensemble de données à nommer.
Faire $('body').find();
n'est pas nécessaire pour rechercher par ID; il n'y a pas de gain de performance.
Veuillez également noter qu’un identifiant commençant par un numéro est HTML non valide :
Les jetons ID et NOM doivent commencer par une lettre ([A-Za-z]) et peuvent être suivis par un nombre quelconque de lettres, chiffres ([0-9]), traits d'union ("-"), traits de soulignement ("_") , deux points (":") et périodes (".").
Vous pouvez le faire comme ça:
row_id = 5;
row = $("body").find('#'+row_id);
Il y a deux problèmes avec votre code
Je ne connais pas grand chose à jQuery, mais essayez ceci:
row_id = "#5";
row = $("body").find(row_id);
Edit: Bien sûr, si la variable est un nombre, vous devez ajouter "#"
à l'avant:
row_id = 5
row = $("body").find("#"+row_id);