2012-10-03 2 views
6

나는 다른 개발자가 코드를 디버깅하기 위해 노력하고있어, 나는 내 인생이 변수에 저장되는 내용을 알아낼 수 없습니다 :이 jQuery 선택기를 설명 하시겠습니까?

var dl = $("<dl>",{class: 'my_class'}); 
이 줄은 "예상 식별자, 문자열을 생성

또는 번호 "오류 메시지가 IE8 이하,하지만 다른 브라우저 중 하나, 그리고 다른 구문으로 같은 일을 할 수있는 다른 방법이 있는지 알아 내려고 노력하고있어.

모든 조언을 주시면 감사하겠습니다.

답변

8

class 속성이 my_classdl 요소 (jQuery 객체로 래핑 됨)가 생성됩니다. 이 양식의 기능에 대한 자세한 내용은 jQuery docs을 참조하십시오.

JavaScript에서 class은 (는) 예약어이기 때문에 오류가 발생합니다. 당신은 그것을 인용하여 문제를 해결할 수 :

var dl = $("<dl>", { "class": "my_class" }); 

을 양자 택일로, 당신이 (당신이 어떤 브라우저에서 인용 할 필요가 없습니다하는) 대신 className 속성을 설정할 수 있습니다 :

var dl = $("<dl>", { className: "my_class" }); 

참고 ES5 사양 그 수 있습니다 예약어를 속성 이름으로 사용하십시오. 그러나 이전 버전의 IE를 지원해야 할 필요가 있기 때문에이를 잊어 버리고 인용해야합니다. 방금 버전 9 이하 IE에 대한 지원을 드롭하는 경우, 당신은 모든 코드를 변경할 필요가 없습니다 것입니다

2

class 자바 스크립트에서 예약어이다), 따옴표로 포장해야합니다

var dl = $("<dl/>",{'class': 'my_class'}); 
관련 문제