2012-06-24 3 views
0

초급 Javascript 질문.innerHTML이 IE9의 디스플레이를 새로 고치지 않습니다.

요소의 innerHTML 필드를 설정할 때 - 페이지에서 위아래로 스크롤 할 때까지 디스플레이가 다시 표시되지 않습니다.

enter image description here

그리고 여기가 내가 최소화하고 극대화 이후의 모습을 :

여기
<ul id="zzz"> 
<li> 
    <input title="Delete" name="DeleteFiles" value="a5e342fd-9180-416b-9938-e66218f275ee" 
     id="DeleteCb" onchange="SetDelete(DeleteCb,DeleteLabel)" type="checkbox"> <span id="DeleteLabel" > </span> 
    <a href="MyJavaTest_files/_MG_0126.jpg">_MG_0126.jpg</a> 
    <br> 
    <img style="max-width: 400px;" src="MyJavaTest_files/_MG_0126.jpg"> 
</li> </ul> 

<script type="text/javascript"> 
SetDelete = function (checkBox, Label) { 
    if (checkBox.checked) 
     Label.innerHTML="<B>Delete<B>"; 
    else 
     Label.innerHTML = "";}</script> 

내가 클릭 할 때 보이는 방법이다 : 이는 IE9에서 일어나는

여기

내 코드입니다 , 또는 그 지역을 다시 채우게 할 다른 것.

또한 jQuery HTML을 시도하고 동일한 동작을 얻었습니다. 호출하는 동안

SetDelete = function (checkBox, Label) { 
    var checkbox = document.getElementById(checkBox); 
    var Label = document.getElementById(Label); 
    if (checkBox.checked) 
     Label.innerHTML="<B>Delete<B>"; 
    else 
     Label.innerHTML = ""; 
} 

을 그리고 따옴표를 사용 : 당신이 id 값을 전달하기 때문에

답변

1

당신은 자신을 노드하지 document.getElementById를 사용할 필요가

onchange="SetDelete('DeleteCb', 'DeleteLabel')" 

또한 Checkbox 같은 변수 이름을 사용하지 , Label, Submit, Button 등이있다. 찾을 힘들지 않습니다.

+0

내 의도는 요소 자체가 아니라 ID 값을 전송하는 것이 아니 었습니다. 이 ID는 여기에 사용하고 싶지 않습니다. 페이지에 여러 번 존재하므로 많은 요소가 동일한 ID를 갖습니다. – Noam

관련 문제