2010-03-09 2 views
1

jQuery MetaData Plugin을 사용하고 있습니다. 매우 흥미로 보입니다 만 ...태그의 클래스 속성에 JSON 객체를 저장합니까? Validate (XHTML Strict)?

<li class="someclass {some: 'data'} anotherclass">...</li> 

<script>alert($('li.someclass').metadata().some);</script> 

이 코드가 유효합니까?

갱신 물론

이 오래된 예 (2010)이다는, 현재 우리는 데이터를 설정하는 HTML5/JQuery와 속성, $.data() and element.dataset를 사용합니다. 매우 유용합니다.

답변

5

XHTML Strict DTD (그리고 다른 모든 관련 DTD)에 따르면 "class"속성은 CDATA이므로 아무 것도 그 값에 들어간다는 것을 의미합니다.

0

jQuery를 사용하는 경우 .data() 메소드를 사용하십시오!

$(elem).data(key, value); 
//e.g. store a string 
$('#someID').data('secret','my voice is my password, verify me!'); 
//or store some JSON 
$('#otherID').data('stuff', JSONData); 
+3

나는이 제안을 듣고 지겹다. – qodeninja

+2

@codeninja - 죄송합니다. 이것이 바람직한 결과라고 생각했습니다. 유효한 (X) HTML을 손상시키지 않는 요소에 JSON 데이터 저장. class 속성을 사용하면 작동 할 수 있지만 IMHO 속성의 kludgy 악용처럼 보입니다. – scunliffe

+0

그것의 차가운. 너는 정말로 내 질문에 대답하지 않았다. – qodeninja

관련 문제