Programing

ID에 대한 변수를 사용하여 jQuery에서 요소를 어떻게 선택합니까?

lottogame 2020. 8. 24. 20:53
반응형

ID에 대한 변수를 사용하여 jQuery에서 요소를 어떻게 선택합니까?


예를 들어 다음은 id = "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)

검색을 본문으로 제한하는 것은 아무런 이점이 없습니다.

또한, id특히 이름을 지정해야하는 다른 데이터 세트가있는 경우 s의 이름 을 더 의미있는 것으로 바꾸는 것을 고려해야합니다 (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. 문자열이 필요할 때 찾기 함수에 숫자를 전달하려고합니다 ( "#"+ 5를 전달하면 먼저 5를 "5"로 변환하므로이 문제가 해결됩니다).

나는 jQuery에 대해 많이 모르지만 이것을 시도하십시오.

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

편집 : 물론, 변수가 숫자이면 "#"앞에 추가 해야합니다.

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

참고 URL : https://stackoverflow.com/questions/743994/how-do-i-select-an-element-in-jquery-by-using-a-variable-for-the-id

반응형