2011-09-23 6 views
1

그래서 jquery에 셀렉터 및 저장소 microdata로 속성 lang을 사용하는 습관이 있습니다.은 마이크로 데이터 저장소에 대한 속성을 사용하고 선택자로서 나쁜 것입니다.

비록 w3 호환이 아닙니다.하지만 좋은 것입니다. 다른 대안이 있습니다.

이와 비슷한 내용입니다. $ ('[lang = 153]')이 dom을 가져오고 $ (this) [0] .lang은 데이터를 가져옵니다.

+0

을 당신이하는 일의 예를 보여주십시오. –

+0

'.data'는 좋은 대안이 될 수 있습니다. http://api.jquery.com/data/ –

+0

이와 비슷한 것입니다. 및 $ (this) [0] .lang을 사용하여 데이터를 가져 오려면 $ ('[lang = 153]'). –

답변

1

당신은 데이터 - 접두사를 사용하여 요소에 데이터를 넣을 수 있습니다 :

<div data-lang="123">Text</div> 

그런 다음이 요소를 선택하고이 같은 데이터를 읽을 수 있습니다 어쩌면

var lang = $('[data-lang="123"]').data('lang'); 

http://jsfiddle.net/C3LCp/

1

말씀하신대로 w3과 호환되지 않습니다. 그것은 귀하의 사이트가 직면 할 수있는 최악의 상황은 아니지만, 분명히 좋은 것은 아닙니다.
당신의 방법의 장점은 당신이 선택기를 더 많이 사용할 수 있다는 것입니다. jquery를 사용하기 때문에 data 메서드를 사용하여 선택한 dom 요소에 데이터 (모든 유형의 객체 - 단순한 것 이상 (lang= 이상))를 저장하는 것이 좋습니다.

1

jquery로 데이터를 저장하려면 data()을 사용해야합니다.

당신의 데이터를 저장 :

$('#myid').data('mydata', 'mydata') 

당신은 그것을 검색 : 그것은 '아무튼

<div id='myid' data-mydata='this is the data'></div> 

var my = $('#myid').data('mydata'); //my is equal to 'this is the data' 
+0

하지만 나는 DOM으로 사용할 예 : 는 좀 클릭 ID = 13 일부 ID를 찾아 $ ('[LANG ='+ 13 세 이상 '이 ID에 관련된 DOM 뭔가를하고 싶어 ] ') ​​ –

+0

대답을 완전히 이해하지 못했습니다. 무엇을 의미하는지 완전히 이해하지 못합니다. –

1

: 당신은 또한 속성에 액세스하여 요소를 작성할 수

$('#myid').data('mydata') 

문제가 발생하지만 HTML이 '비준수'가됩니다. 내가 그 스타일을 변경할 것을 추천

<div data-billy="bob"></div> 

:

HTML5는이 같은 data- 시작이 사용 속성을하는 유효한 방법을 소개하고있다. 자세한 내용은 John Resig's 설명을 참조하십시오.

+0

데이터 속성을 선택자로 사용할 수 있습니다. 즉 –

+0

과 작동 할 수 있습니다. 개념적으로 지금 사용하고있는 것과 개념적으로 다르지 않습니다. jQuery에서 선택자로 사용됩니다. – mattmanser

관련 문제