2012-09-27 3 views
2

을 브라우저를. 내가 IE 9에서 페이지를로드 할 때, 다음과 같은 오류가 발생합니다 : 내가 IE의 개발자 창에서 HTML 출력을 검사 할 때녹아웃 가상 요소 나는 다음과 같은 코드가

Cannot find closing comment tag to match: ko if: eLocBound() == 'true'

, 나는 IE 실제로 내부 <!-- ko if --> 주석 태그 중첩되는 것을 발견 TR 태그 사이가 아닌 이전 TR 태그를 사용하므로 Knockout은 일치하는 <!-- /ko --> 태그를 찾을 수 없습니다. 나는 여기에 문제의 스크린 샷에 연결 한 : http://imgur.com/nN7Ln

반대로, 나는이에 코드를 변경하는 경우 :

<tr data-bind="visible: eLocBound() == 'true'"> 
    <td>Select Locations <span class="required_star">*</span></td> 
    <td><input type="text" /></td> 
</tr> 

그런 모든 것이 잘 작동합니다. 나는 누군가가 가상 요소로이 문제를 겪었는지 알고 싶다.

답변

4

이것은 Knockout이 실제로 보상 할 수없는 Internet Explorer의 문제입니다. 귀하의 경우에는 행 주위에 tbody 태그를 사용하는 것이 좋습니다. 표에는 복수 tbody 태그가 포함될 수 있습니다. 따라서 코드는 다음과 같습니다.

... 
</tr> 
<tbody data-bind="if: eLocBound() == 'true'"> 
<tr> 
    <td>Select Locations <span class="required_star">*</span></td> 
    <td><input type="text" /></td> 
</tr> 
</tbody> 
<tr> 
... 
+0

이렇게 생각합니다.이 사례를 확인해 주셔서 감사합니다. IE에주의해야합니다. TR 태그가 별도의 가시성 로직이 첨부 된 TBODY 태그에 이미 래핑 되었기 때문에 실제로 가상 요소를 사용했습니다. 미래의 경우에만 이것을 사용할 것입니다. –

관련 문제