0

初心者の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も試してみたところ、同じ動作が得られました。

4

1 に答える 1

1

ノード自体ではなく値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また、LabelSubmit、 、 などの変数名の使用も避けてくださいButton。問題が発生し、見つけにくくなります。

于 2012-06-24T11:20:49.270 に答える