나는 두 가지 방법을 통해 특정 마크 업을 구축하는 장단점을 비교 중입니다.순수한 jquery와 HTML 마크 업을 구축 VS 템플릿 패턴을 밑줄
<li><img data-id="a" src="/src"></li>
<li><img data-id="b" src="/src"></li>
<li><img data-id="c" src="/src"></li>
<li><img data-id="d" src="/src"></li>
<li><img data-id="e" src="/src"></li>
는 오히려과 같이 순수 jQuery를 함께 그 일을 할 것인가 :
$.each(obj, function(key, value) {
$("<li/>")
.attr({"data-id":key})
.append(
$("<img/>", {
src: value.pic
})
).addClass("selected")
.appendTo("document");
})
또는 예를 들어 템플릿을 선호 내가 자바 스크립트이 간단한 HTML 마크 업을 생성하고 싶은 말은하자 underscore.js 템플릿 방법은 다음과 같습니다.
var listObj = '<% $.each(obj, \
function(key, value) { %> \
<li class="selected" data-id= <%= key %> ><img src= <%= value.pic %> ></li> \
<% }); %>';
$("document")append(_.template(listObj, {obj: obj}));
또한 마크 업과 코드가 더 많은 경우 어떤 아이디어가 더 빠릅니까? 내가 jQuery를보다 빠를 것이라고 생각
그래, 맞긴하지만 아직은별로 만족스럽지 않다. jQuerys 데이터 메소드 [link] (http://api.jquery.com/data/)를 사용하여 마크 업을 작성하는 동안 dom 요소에 일부 데이터를 추가하고 싶습니다. dom 요소는 문자열 일 뿐이므로 템플릿 내에서는 할 수 없습니다. – Hans
글쎄, 데이터 속성을 사용하여 데이터를 저장할 수 있습니다.
나에게 준 페이지의 "HTML 5 data-Attributes"를 참조하십시오. – Sergey그래, 나는 어떤 경우에 그랬지만 가능하면 dom에없는 데이터를 저장하는 것이 나에게 훨씬 더 우아 해 보였다. 나는 엔진을 템플릿 화하는 현재 js로는 불가능하다고 생각합니다 ... 그러나 나는 여전히 유일한 단점이 있기 때문에 여전히 방법을 찾고 있습니다. 나는 지금 콧수염을보고있다. 그러나 havent도 그것과 함께 길을 발견했다. http : // stackoverflow.co.kr/questions/6977727/조언을위한 어쨌든 how-to-hook-up-data thx – Hans