为什么elem.innerHTML不为创建的元素设置style.display属性?

Why elem.innerHTML do not set style.display property for created element?

我有代码。几年前就可以做爱了

var elem= doc.createElement( '<span>' );
elem.innerHTML= text;

如果文本是 <div align="center" valign="center" style="display: run-in;"></div> 我可以检查 elem.firstChild.align 没问题,但 elem.firstChild.style.display 和 elem.firstChild.valign 为空,

为什么?什么改变了?如何像我一样创建和赋值?

js 引擎不允许您设置不受支持的值。

run-in 未得到完全支持,因此如果您支持:

elem.firstChild.style.display = 'run-in';
// then do 
elem.firstChild.style.display; // the outcome/result is ""

但是,如果您使用受支持的值:

elem.firstChild.style.display = 'inline';
// then 
elem.firstChild.style.display;// displays "inline"

检查您正在使用的浏览器的支持以确认。 webkit 最初支持它,Mozilla 不支持 (https://bugs.webkit.org/show_bug.cgi?id=127874)。现在可能已在 chrome 中删除,如果您希望跨浏览器保持一致,则不应使用。