[英]innerHTML doesn't refresh the display on IE9
初學者Javascript問題。
當我設置元素的innerHTML字段時,它不會刷新顯示,直到我在頁面中上下滾動。 這僅在IE9中發生
這是我的代碼:
<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>
單擊后的外觀如下:
這里是我最小化和最大化后的外觀,或其他會導致其重新繪制該區域的外觀。
我還嘗試了jQuery HTML並得到了相同的行為。
您需要使用document.getElementById
因為您傳遞的是id
值而不是節點本身:
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 = "";
}
並在調用時使用引號:
onchange="SetDelete('DeleteCb', 'DeleteLabel')"
還要避免使用諸如Checkbox
, Label
, Submit
, Button
等變量名,因為它們會產生難以查找的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.