[JQUERY] ID가 점을 포함하는 경우 어떻게 jQuery로 ID로 HTML 노드를 선택하려면?
JQUERYID가 점을 포함하는 경우 어떻게 jQuery로 ID로 HTML 노드를 선택하려면?
해결법
-
1.의견 @Tomalak :
의견 @Tomalak :
"#의 id.class"는 ID와 일치하는 별도의 클래스를 모두 필요로하는 올바른 선택이다; 그것은 유효한 그리고 항상 완전히 중복되지.
'.'올바른 방법은 문자를 선택하기 위해 CSS에서하면을 탈출하는 것입니다 : "#ID \ .moreid". 이 (특히 IE5.x에서) 일부 오래된 브라우저에서 원인 문제로 사용하지만, 모든 현대적인 데스크탑 브라우저를 지원합니다.
나는 그것을 철저하게 테스트하지 않았습니다 불구하고 동일한 방법으로, jQuery를 1.3.2에서 작동하도록 보인다; quickExpr 그것을 선택하지 않지만, 더 복잡 선택 파서는 그것을 제대로 것 같다 :
$('#SearchBag\\.CompanyName');
-
2.하나 개의 변형이 될 것입니다 :
하나 개의 변형이 될 것입니다 :
$("input[id='SearchBag.CompanyName']")
-
3.당신은 당신이 document.getElementById를 사용하는 경우 아무것도 탈출 할 필요가 없습니다 :
당신은 당신이 document.getElementById를 사용하는 경우 아무것도 탈출 할 필요가 없습니다 :
$(document.getElementById('strange.id[]'))
에서 getElementById는 점은 클래스 선택으로 해석되지 않도록 입력이, 단지 id 속성 가정합니다.
-
4.짧은 답변 : ID = "foo.bar"인 요소가있는 경우, 당신은 선택 $ 사용할 수 있습니다 ( "# foo는을 \\ 바.")
짧은 답변 : ID = "foo.bar"인 요소가있는 경우, 당신은 선택 $ 사용할 수 있습니다 ( "# foo는을 \\ 바.")
긴 답변 : 이것은 JQuery와 문서의 일부입니다 - 당신이 여기에서 찾을 수 있습니다 섹션 선택기 : http://api.jquery.com/category/selectors/
귀하의 질문은 문서의 시작 부분에 바로 대답한다 :
If you wish to use any of the meta-characters ( such as !"#$%&'()*+,./:;?@[\]^`{|}~ ) as a literal part of a name, you must escape the character with two backslashes: \\. For example, if you have an element with id="foo.bar", you can use the selector $("#foo\\.bar"). The W3C CSS specification contains the complete set of rules regarding valid CSS selectors. Also useful is the blog entry by Mathias Bynens on CSS character escape sequences for identifiers.
-
5.귀하의 ID 변수에있을 때 ATTR 선택은 적절한 것 같다 :
귀하의 ID 변수에있을 때 ATTR 선택은 적절한 것 같다 :
var id_you_want='foo.bar'; $('[id="' + id_you_want + '"]');
-
6.이것은 jQuery를 셀렉터 API에 설명되어 있습니다 :
이것은 jQuery를 셀렉터 API에 설명되어 있습니다 :
즉, 접두사. 와 \\.
$('#SearchBag\\.CompanyName')
문제는 점이다. , 클래스를 일치 그래서 $ ( '#의 SearchBag.CompanyName')는
일치합니다. 는 \\로 탈출했다. 정상으로 처리된다. 특별한 의미와 함께, 당신이 원하는 ID를 일치.이 모든 문자를 적용 "# $ % & '() * +, / :; <=> @ [\] ^`!.? {|} ~ 그렇지 않으면 jQuery를의 선택으로 특별한 의미를 가지고있는 것.
7.보다 일반적인 솔루션을 찾고 얘들 아, 나 특수 문자 앞에 하나의 역 슬래시를 삽입 한 해결책을 발견, 특수 문자가 포함 된 사업부에서 이름 및 ID를 검색 관련이 해결되는 문제.
보다 일반적인 솔루션을 찾고 얘들 아, 나 특수 문자 앞에 하나의 역 슬래시를 삽입 한 해결책을 발견, 특수 문자가 포함 된 사업부에서 이름 및 ID를 검색 관련이 해결되는 문제.
이 유용 희망!
8.당신은 속성 선택기를 사용할 수 있습니다 :
당신은 속성 선택기를 사용할 수 있습니다 :
$("[id='SearchBag.CompanyName']");
또는 당신은 요소 유형을 지정할 수 있습니다 :
$("input[id='SearchBag.CompanyName']");
from https://stackoverflow.com/questions/605630/how-to-select-html-nodes-by-id-with-jquery-when-the-id-contains-a-dot by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 내가 jQuery를 사용하여 드롭 다운리스트를 열 수 (0) 2020.10.02 [JQUERY] 의 jQuery .load () 호출은로드 된 HTML 파일에서 자바 스크립트를 실행하지 않습니다 (0) 2020.10.02 [JQUERY] 사업부에 매 3 명 div가 랩 (0) 2020.10.02 [JQUERY] 어떻게 주어진 앵커로 스크롤 HTML 페이지에? (0) 2020.10.02 [JQUERY] 어떻게 사용 slideDown (또는 쇼) 테이블 행에 함수? (0) 2020.10.02