2012-12-18 3 views
1

jQuery/JavaScript에서 사용할 수 있도록 서버 측 요소에 데이터를 추가하는 우아한 방법을 찾고 있습니다. 또한 서버에 너무 많은 호출을 보내지 않으므로 데이터가 선행되어야합니다.jQuery에서 사용할 수 있도록 요소에 데이터 추가하기

시나리오 예. 서버 측 (PHP), 사용자 이미지 목록을 만듭니다. 여기에 이름, 성, 나이 등을 추가하고 싶습니다.
이미지를 클릭하면 jQuery는이 데이터를 가지고 무엇인가를해야합니다.

가능성 :
데이터를 href로 가져온 다음 클릭하면 href가 반환되고 false가 반환됩니다.
데이터를 클래스로 사용하십시오.

더 좋은 방법이 있습니까?

+1

페이지가 처음 제공 될 때 단순히 데이터를 숨긴 다음 jquery를 사용하여 표시 여부를 전환 할 수 있습니까? 서버에 대한 추가 호출은 필요하지 않습니다. 질문을 명확하게하기 위해 코드를 게시해야합니다. – nonshatter

답변

6

HTML 사양은이 목적으로 data-으로 시작하는 특성을 예약합니다. 당신만큼 당신이 data-* 형식을 따를 때 원하는대로

<p data-name="John Doe" data-age="256">Hello World</p> 

당신은 그 이름을 지정할 수 있습니다 예를 들면 다음과 같습니다.

구조화 된 의미 데이터가 필요한 경우 적절한 스키마와 함께 RDFa Lite을 사용하는 것이 좋습니다.

<a href="link.html" data-content="demo">Text</a> 

을 그리고 그들을 읽기 :

+1

감사합니다 (그리고 답변을 게시 한 다른 사람들). 인생에서 그리워하는 이런 간단한 것들. :) –

0

당신은 data 속성을 만들 수 있습니다 HTML5를 들어

$('a').data('content'); 
+0

데이터 ("content")를 사용할 수있을 때 attr을 사용하는 이유 – mplungjan

+0

예 True :) 좋은 지적입니다. – Alvaro

1

을, 당신은 custom data attributes 있습니다.

구형 사양에 유효한 HTML을 사용하려는 경우 가장 좋은 방법은 으로 스타일이 지정된 이미지를 <span> 요소에 포함시키고 이미지와 연결하는 방식으로 jQuery (예를 들어 특정 클래스를 가진 자식 요소로서).

+0

+1 나는 이것을 쓰고 있었다 : – Sithu

0

많은 데이터 요소가있는 경우 데이터를 자바 스크립트 변수에 저장하고 data-userid 또는 id 속성을 사용하여 사용자 데이터에 대한 ID 참조를 저장할 수 있습니다. 단지 저장, 마크 업에서

var users = <?php echo json_encode($users); ?>; 

아이디 :

<img src="..." alt="..." data-userid="x" /> 

것은 그런 다음 조회 할 수 있습니다 당신은 자바 스크립트 변수로를로 json_encode 수는 사용자의 PHP 배열이있는 경우 예를 들어

자바 스크립트 배열의 데이터. 이 접근 방식의 이점은 많은 양의 데이터를 저장해야하는 경우 마크 업에 눈에 띄지 않는다는 것입니다.

관련 문제