-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 回答