문제

는 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 ..

http://ejohn.org/blog/html-5-data-Attributes./

확실히 할 수 있습니다.HTML5는 데이터 - 속성이라는 것을 도입했지만 표준 방식으로 요소에 비표준 속성을 설정할 수 있습니다.

data-

로 속성 이름을 접두어 접두어로 설정합니다.
<input type="text" data-valrule="someregexstring" />
.

이는 HTML5에서 도입되지만 HTML4의 문서와 함께 사용할 수 있습니다.


jQuery (1.4.3+)를 사용하면 데이터 - 속성에 액세스 할 수 있습니다.> .data () 또는 .attr () .

개인적으로 그렇게하지 않을 것입니다.일부 브라우저는 HTML을 구문 분석 할 때 "존재하지 않는"속성을 무시하므로 이러한 속성은 브라우저 페이지 DOM에 저장되지 않습니다.jQuery 선택기가 실행되면이 속성을 찾을 수 없습니다.

HTML5 호환 브라우저에서 실행되도록 보장되는 경우, 속성에 대해 HTML5 data- 접두어를 사용할 수 있습니다.

<input type="text" data-valrule="someregexstring" />
.

이전 브라우저에서 실행하면 여전히 작동하지 않을 수 있습니다.예를 들어 고객의 거의 절반이 IE7을 사용하고 있음을 업그레이드 할 계획이 없음 (정부의 속도로 이동).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top