簡體   English   中英

innerHTML不會刷新IE9上的顯示

[英]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')"

還要避免使用諸如CheckboxLabelSubmitButton等變量名,因為它們會產生難以查找的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM