1

underscore-js을 사용하여 템플릿을 렌더링하는 시스템을 구축했으며 IE가 아닌 모든 브라우저에서 정상적으로 작동합니다. name 제공된 객체의 빈 문자열 인 경우IE 8 템플릿에 입력 태그가있는 underscore-js 템플릿/jquery 이상한 결과

<td><input type="text" id="${_id}_name" class="name" value="${name}" /></td> 

IE8에서, 나는 실제 텍스트 필드에 type=text가 표시됩니다

다음은 템플릿의 조각입니다.

파고 조금 더 깊은 나는 IE 8의 밑줄 템플릿은 다음과 같습니다 것을 볼 수 :

<tr id="319"><TD><INPUT id=319_name class=name value= type=text></TD> 

그리고 다른 브라우저에서 밑줄의 출력은 다음과 같습니다

<td><input type="text" id="310_name" class="name" value=""></td> 

그러니 확실히의 부족 속성 값 주위의 따옴표로 인해이 문제가 발생합니다.

나는 또한 jquery-tmpl과 같은 문제를 발견했습니다. 여기

코드의 단편 템플릿을 설정하는 방법을 보여주는 것 :

template = _.template(tmpl); 

$.each(data.data.stored, function(i, row) {       
    $('table#user_data').append(template.template(row)); 

모든 아이디어를 어떻게/왜 이런 일이 될 수 있을까?

답변

3

확인, 해결책을 찾았습니다. 여기 JQuery와 - tmpl의 GitHub의에 제기 된 문제 발견 : 분명히 그것은 IE가 HTML을 직렬화 방식으로 인해 발생

https://github.com/jquery/jquery-tmpl/issues/3

을하고, 해결책은 태그에 약간의 공간을 배치하는 것입니다. 따라서 :

$ {name} $ {name}이 (가)

이됩니다.