2011-04-23 5 views
1

저는 종종 CSS ids 또는 클래스를 사용하여 자바 스크립트에서 요소를 선택합니다. 이러한 클래스의 대부분은 해당 유스 케이스에만 존재하며 스타일이 전혀 첨부되지 않습니다.스타일과 자바 스크립트에 대한 CSS 클래스를 구별하십시오.

이러한 클래스를 명시 적으로 표시하는 것이 좋으면 지금 생각해보십시오. 어쩌면 앞에 밑줄처럼 쓸만합니다 (예 : class="_field").

내가 그런 연습을 들어 본 적이없는 것입니다. 권장 사항입니까? 더 큰 프로젝트에서 이미 사용 된 적이 있습니까? 어떤 종류의 표식이 합리적일까요? 나는 어딘가에서 선두적인 밑줄이 문제가 될 수 있다고 읽었다. "Javascript 전용"클래스를 쉽게 식별하는 데 사용할 수있는 다른 방법은 무엇입니까?

+1

접두사 모든 자바 스크립트 클래스하십시오 (!) 참고로

가, ExtJS를 사용하고있다 정의가 꽤 많은 시간 동안 자신의 트리 노드 속성 "네임 스페이스" 아마도? 맨 앞줄은 CSS에 대한 잘못된 클래스 이름입니다. 이러한 클래스가 스타일에 사용되지 않는 경우에도 여전히 작동 할 수 있습니다. –

+4

선행 밑줄은 수업 이름 시작 부분에서 완벽하게 유효합니다. [문법] (http://www.w3.org/TR/CSS21/grammar.html#scanner)에 따르면 "이름"은 하나 이상의 "nmchars"의 시퀀스이며 밑줄은 "nmchar ". – Pointy

+0

@Pointy, +1; 어떤 시점에서 [구문 및 기본 데이터 형식] (http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier)을 잘못 읽고 실감하지 못했습니다. ... 죄송합니다. =) –

답변

4

개인 코딩 규칙으로 할 수 있습니다. 이 사양에는 class 속성 이 스타일링에만 사용되거나 스크립팅에만 사용되어야한다고 나와 있지 않습니다. 이를 사용하여 원하는 방식으로 요소를 분류 할 수 있으므로 클래스 이름을 지정하고 구성하는 데 제한이 없습니다.

-1

요소에 고유 한 ID가 하나 뿐이며 클래스는 여러 HTML 요소에 적용될 수 있으므로 JavaScript로 작업하는 데는 ID를 사용하는 것이 더 좋습니다.

+0

여러 자바 스크립트 함수를 여러 요소에 적용하려는 경우가 많으므로 클래스를 사용하고 싶을 수도 있습니다. – Wim

+1

나는 동의하지 않는다. 클래스와 ID는 JS와 CSS에서 같은 기능을한다. 요소가 고유 한 경우 ID를 사용하고 JS에서 사용중인 여러 요소가있을 때 클래스를 사용하면 ID를 사용하는 것이 좋습니다. –

1

JS에서 사용되는 클래스 이름이 CSS에서 수행하려는 스타일과 일치하는 경우가 대부분입니다. 당신이 그것들을 적절하게 명명하는 한, CSS 나 JS만이 클래스 이름을 사용한다는 것은 큰 문제가 아닙니다.

0

HTML5에서 제안하는 data-* attributes을 사용할 수 있습니다. 결과 코드가 유효하지 않지만 HTML4에서도 작동합니다. '

<div class="x-tree-node-el x-tree-node-leaf x-unselectable cls" 
    ext:tree-node-id="Foobar"> 

(그들은 BTW data-ext-tree-node-id에 그 변경해야합니다)와

관련 문제