2010-06-10 5 views

답변

1

[] 기호는 유효한 ID 문자가 아닙니다. 당신은 단지 다음과 같이 이스케이프 할 필요가

$("#divtables\\[COURSE_SUBJECTS\\]") 
+0

들으,이 jQuery를/ 또 다른 specsymbols에 대한 사양 상징이다! #; '+ * ~, "^ $ []() => |/ – Exan

0

: 당신이 그것을 밖으로 시도하려면, 이중 백 슬래시를 사용하여 당신이해야하지만

$("#divtables\\[COURSE_SUBJECTS\\]\\[141\\]\\[TITLE\\]") 

There's a full FAQ/how-to on the escaping topic here를,이, 어떤 선택 유형 작동 가능한 다른 ID 값 (잘못된 HTML이 주로 발생하지 않는 값) 항상 그렇지는 않습니다. 다른 시스템에 의해 생성 된 콘텐츠를, 위의 솔루션은이에 대한을 작동하지만, 그것이 가장 좋은 것입니다 유효하지 않은 문자를 대체하는 가장 좋은 방법이 아니다, 나는이 좋을 것 :

<div id="divtables-COURSE_SUBJECTS-141-TITLE">gg</div> 

그런 다음 선택이 필요하지 않습니다 어떤 트릭, 그것은 단지 :

$("#divtables-COURSE_SUBJECTS-141-TITLE") 
2

이 W3C에 따라 유효한 ID되지 않습니다 :

이름 지정 규칙 :

, 밑줄 ("_"- 문자 (A-ZA-Z), 숫자 (0-9), 하이픈 ("") :

은 AZ 또는 AZ

이 다음에 할 수있는 문자로 시작해야합니다), 콜론 (":"), 및 기간 (

값은 대소 문자를 구분 이것은 기본적으로 당신이 ID에 []이없는 것을 말한다

있습니다) ".". 나는 당신이 표준을 따르도록 강력히 권할 것입니다.

+0

는 HTML5는 아직 이러한 제한이 있습니까? 나는 그것을 찾을 수 없다. 스펙은 HTML4에서와 같이 언급하지 않는다. http://www.w3.org/TR/html5/dom.html#the-id-attribute –

2

w3c standards에 따르면 HTML에서 ID 속성으로 []을 사용할 수 없습니다. 즉, ID 속성에 대해서만 다음 문자를 사용할 수 있습니다. .

Letters ([A-Za-z]) 
digits ([0-9]) 
hyphens ("-") 
underscores ("_") 
colons (":") 
periods ("."). 
+0

주목해야한다. HTML4의 경우 HTML5에 이러한 제한이 있다고 생각하지 않습니다. http://www.w3.org/TR/html5/dom.html#the-id-attribute –

+0

@Nick Craver 네, 맞습니다. 예외는 html5에서 null 일 수 있습니다. – Joe

관련 문제