2013-06-18 2 views
0

jQuery에는 addClass()와 유사하지만 dom className 속성과 다른 기능을 수행하는 일반적인 기능이 있는지 궁금합니다.다른 속성에 대한 jQuery addClass와 같은 기능

나는이 같은 데이터 유효성 검사 규칙의 레이블을 저장하는 필드, 뭔가를 :

<input data-validation="required number positive">, 

각 레이블은 검증의 다른 유형을 지정. ,

$('input').addToken('data-validation', 'date future_date'); // two rules added here 

또는

$('input').removeToken('data-validation', 'required'); 

내 가장 좋은 방법은 지금까지 새로운 기능에 $를 취할 .fn._addClass하고 복사 할 :이 같은 검증 라벨을 수정할 수 있도록하고 싶습니다 그러나 나는 가능하다면 바퀴를 재발 명하고 싶지 않을 것이다. ~

E [foo는 : 비슷한 방향으로

은, 지금까지의 내가 아는 한, CSS2는 모든 속성이 아니라 클래스 이름에 공백으로 구분 된 값의 종류에 작동하는 특별한 속성 선택이있다 = "warning"] "foo"속성 값이 인 모든 E 요소에 공백으로 구분 된 값의 목록을 일치시킵니다. 그 중 하나는 정확히 "경고"와 같습니다.

ps. 어쩌면 광산보다 더 높은 평판을 가진 누군가가 '공간 구분 값'이라는 태그를 추가 할 수 있습니다. 유용한 태그가 될 수 있습니다. 고맙습니다.

+2

은'$ ('입력')는 데이터를 ('검증', '날짜 future_date ')'나중에 운동하지 않니? – PlantTheIdea

+1

글쎄, JS 또는 jQuery에서 사용할 수있는 함수가 없으므로 직접 작성해야합니다. 어쨌든 약간의 문자열 조작 일뿐입니다. –

+0

구문을 원할 경우 .addToken() 및 .removeToken() 메서드를 사용하여 jQuery 플러그인을 만들어야합니다. 그것 이외에 $ ('입력'). attr ('데이터 유효성 검사', '필수'); 및 $ ('입력'). 데이터 ('유효성 검사'); 코드를 작성하지 않아도 구현할 수 있습니다. 표준이됩니다! – Precastic

답변

0

jQuery를이 요소에 정의 된 모든 data-*에 대한 액세스 권한을 사용하도록 설정된 data() 기능을 제공, 그래서 당신이 할 수 있습니다.

//set value 
$('input').data('validation','date future_date'); 

//get values 
var validations = $('input').data('validation'); 
관련 문제