비 기존 속성 HTML 입력 필드
-
13-12-2019 - |
문제
는 jQuery에서 사용하기 위해 HTML 요소에 비 기존 속성을 연결하는 것이 좋습니다.예를 들어
<input type="text" valrule="someregexstring" />
.
은 jQuery를 사용하여 Valrule이라는 속성을 포함하고 정규식 문자열을 구문 분석하는 모든 요소를 선택합니다.
는 프로그래밍 표준 및 모범 사례만큼이나 'No-go'입니다.
해결책
접두사 data-<myAttribute>
를 사용해야합니다.HTML5에서 지원되며 다른 브라우저는 IT를 무시하고 .data()
메소드를 사용하여 jQuery로 쉽게 액세스 할 수 있습니다.
<input id="myInput" type="text" data-MySuperMassiveAttribute="Awesome"/>
.
과 같은 정보를 검색 할 수 있습니다 :
var howAmI = $('#myInput').data('MySuperMassiveAttribute');
alert(howAmI); // now everybody knows how awesome you are ;-)
. 다른 팁
다음과 같이 새 속성에 대해 HTML5 데이터 - 접두어를 사용하십시오.
<input type="text" data-valrule="someregexstring" />
.
유효한 HTML 5 ..
개인적으로 그렇게하지 않을 것입니다.일부 브라우저는 HTML을 구문 분석 할 때 "존재하지 않는"속성을 무시하므로 이러한 속성은 브라우저 페이지 DOM에 저장되지 않습니다.jQuery 선택기가 실행되면이 속성을 찾을 수 없습니다.
HTML5 호환 브라우저에서 실행되도록 보장되는 경우, 속성에 대해 HTML5 data-
접두어를 사용할 수 있습니다.
<input type="text" data-valrule="someregexstring" />
.
이전 브라우저에서 실행하면 여전히 작동하지 않을 수 있습니다.예를 들어 고객의 거의 절반이 IE7을 사용하고 있음을 업그레이드 할 계획이 없음 (정부의 속도로 이동).
제휴하지 않습니다 StackOverflow