2012-05-28 2 views
0

이 질문의 제목이 적절한 지 모르겠습니다.html 요소에 대한 메타 정보는 어디에 두어야합니까?

데이터베이스의 개체를 나타내는 클릭 가능한 div로 채워진 세로 막대가 있습니다. 사용자가이 div 중 하나를 클릭하면 아약스를 통해 더 자세한 정보를 가져와 주 콘텐츠 영역에받은 정보를 표시하고 싶습니다.

각 사이드 바 div에는 내 자바 스크립트로 서버에 전달할 수있는 id이 있어야합니다.

페이지에서이 ID를 어디에 넣어야하는지 궁금합니다.

이 작업을 수행하는 모범 사례가 있습니까?

+0

검색 엔진에서이 콘텐츠의 색인을 생성하기 때문에 이것이 가장 적합하다고 생각합니다. 그러나 어떻게하면 자바 스크립트가 실행 중일 때 링크가 따르지 않도록 만들지 만 그렇지 않으면 따를 수 있습니까? onclick을 사용하고 false를 반환합니까? – wbarksdale

+1

이벤트 처리기 함수에서 [e.preventDefault();] (http://api.jquery.com/event.preventDefault/)는 함수의 첫 번째 인수 인 'e'를 사용합니다. – ThiefMaster

답변

5

데이터를 data- attributes에 저장합니다.

jQuery에는 데이터를 쉽게 검색/저장하는 방법 data()이 있습니다.

서버에서 부분 뷰를로드하는 경우, $.load()을 권장합니다.

+0

그 모습이 아름답고 야쿠 브 (Jakub)가 아름답습니다. – wbarksdale

+0

@weezybizzle - me도 –

+2

데이터 속성이 이에 적합합니다. +1 – Sampson

1

나는 그것을 수행하는 가장 좋은 방법은 json 형식으로 데이터를 가져 오는 URL로 이동하는 양식 앵커 링크에서 클릭 가능한 영역을 갖는 것이라고 생각합니다. 이 같은

뭔가 : 다음

<a href="/getdata?id=1234" class="data_expand" rel="nofollow">Expand</a> 

그리고 :

$(function(){ 

    $(".sidebar a.data_expand").click(function(event){ 
     event.preventDefault(); 

     $.get($(this).attr("href")).then(function(data){ 
      //Handle data here 
     }); 
    }); 

}); 
+0

이런 식으로 검색 엔진을 사용하면 좋을까요? 무관심한가? – wbarksdale

+0

nofollow rel 태그에 대한 편집을 참조하십시오. 이렇게하면 검색 엔진에서이를 무시합니다. –

관련 문제