-1

ラベルをテキストで更新しようとしました

var label_count2 = document.createElement("label");              
        label_count2.setAttribute("id", "label_count2");     
        label_count2.style.textAlign = "right";
        label_count2.style.border = "none"; 

gradient_div.appendChild(label_count2);            
self.parent.appendChild(gradient_div);

 updateText : function (text){

        document.getElementById("label_count2").innerHTML = count; 

    },

画面の値を呼び出そうとしてupdateText()も変化しませんでした。

デバッガーで確認したところ、値が正しいことがわかりました。

innerHTMLToを変更しようとしましたが、innerText機能しませんでした。

行を追加するとlabel_count2.innerHTML = "any text"、値が表示されます。

関数から機能しない理由を教えてください。

4

1 に答える 1

3

これ:

self.parent.appendChild(gradient_div);

親ウィンドウに要素を追加していると思います(確かではありませんが)。その場合、document子ウィンドウの には要素が含まれないため、「getElementById()」は を返しnullます。

その場合は、次のようになります。

  self.parent.document.getElementById('label_count2').innerHTML = count;

動作する可能性があります。

于 2012-07-12T13:07:43.730 に答える