예를 들어 다음은 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);
답변
코드에 두 가지 문제가 있습니다.
- ID로 요소를 찾으려면 “#”접두사를 붙여야합니다.
- 문자열이 필요할 때 찾기 함수에 숫자를 전달하려고합니다 ( “#”+ 5를 전달하면 먼저 5를 “5”로 변환하므로이 문제가 해결됩니다).
답변
나는 jQuery에 대해 많이 모르지만 이것을 시도하십시오.
row_id = "#5";
row = $("body").find(row_id);
편집 : 물론 변수가 숫자이면 "#"
앞에 추가 해야합니다.
row_id = 5
row = $("body").find("#"+row_id);
답변
