2011-02-27 4 views

답변

12

doctype을 HTML5로 설정하고 custom data-* attributes을 사용하십시오.

<!DOCTYPE HTML>  
... 
<div class="photo" data-parameter1="custom" data-parameter2="custom" data-parameter3="custom" data-parameter4="custom"></div> 
+2

더 최신 버전의 jQuery는 모든 'data- *'속성을 데이터 객체에 추가한다는 점에 유의하십시오. t ... 이렇게하면 다음과 같이 접근 할 수 있습니다 :'$ ('. photo'). data(). 매개 변수 1' 등 – Mottie

+1

예! 또는 요소에서 모든 데이터 속성을 추출하지 않으려면'$ ('. photo'). data ('parameter1')'를 사용할 수 있습니다. – jimmystormig

4

당신이 HTML5를 사용하는 경우, 당신은 당신이 같은 것을 사용할 수 있습니다 custom attributes prefixed with data-*를 만들 수있는 옵션이 있습니다 그것을 DIV로 끝나야합니다 귀하의 sysntax가 올바르지 잘

<div class="photo" data-parameter1="custom" data-parameter2="custom">...</div> 
1

예, 맞춤 속성을 태그에 추가하면 w3c와 호환되지 않습니다.

var a=$('.photo').attr('parameter1'); 
var b=$('.photo').attr('parameter2'); 
var c=$('.photo').attr('parameter3'); 
var d=$('.photo').attr('parameter4'); 

을 다음과 같이 자신의 값을 선택하고 당신이 jQuery를 사용하여 새 속성을 추가하려면 다음과 같이 당신이 그것을 할 수 있습니다 : U

잘 작동

$('.photo').attr('newParameter','value'); 

희망을

+0

사용자 지정 속성을 갖기 위해 W3C와 호환되는 위치를 인용 할 수 있습니까? – jmort253

+0

죄송합니다. 오타였습니다. 어쨌든 인수에 대한 자세한 내용은 http://stackoverflow.com/questions/994856/so-what-if-custom-html-attributes-arent-valid-xhtml을 참조하십시오. – Baz1nga

1

HTML의 일부 개념이 일치하지 않는다고 생각합니다.

먼저 div는 "클래스"가 아니며 "div 요소"가 있습니다. div 요소는 class 속성을 가질 수 있습니다.

둘째, 을 사용하여 요소를 닫아야합니다 (</class>이 아님).

.hidden { 
    display: none; 
} 

을 마지막으로 jQuery를가를 검색 할 : 문제에 대한

또 다른 해결책은 CSS 스타일이 같이가는 예를

<div class="photo"> 
    <span class="hidden" name="parameter1">...</span> 
    <span class="hidden" name="parameter2">...</span> 
    <span class="hidden" name="parameter3">...</span> 
    <span class="hidden" name="parameter4">...</span> 
</div> 

를 들어, DIV 안에 숨겨진 요소를 사용하는 것입니다 값 :

var value = $('div.photo span[name="parameter1"]').html();