设置innerHTML不会设置它

时间:2013-10-12 07:49:30

标签: javascript html dom

这怎么可能?

title.innerHTML = 'blah';
alert(title+' : '+title.innerHTML+' : '+title.outerHTML);

给我一​​个警告说明:

[object HTMLHeadingElement] : undefined : undefined

在Chrome v28中。怎么样?

2 个答案:

答案 0 :(得分:1)

您需要先将元素附加到DOM中,然后才能访问这些属性。

使用createContent完成appendChild功能,将创建的内容插入DOM,然后返回该节点。

答案 1 :(得分:0)

我以前为元素的'title'属性分配了标题。

function createContent() {
    var content = document.createElement('div');
    var title = document.createElement('h1');
    content.title = title;
    return content;
}

var content = createContent();
title = content.title;
title.innerHTML = 'blah';
alert(title+' : '+title.innerHTML+' : '+title.outerHTML);

通知:

[object HTMLHeadingElement] : undefined : undefined

假设我正在使用未定义的行为(滥用标题属性)或错误。