[英]Set innerHTML of anonymous object
我想设置style
元素的innerHTML
,但是Object.defineProperty
会覆盖原生setter,它会变成通常的属性。 我知道我应该将它拆分为元素创建和属性赋值,但我有兴趣在没有临时变量的情况下这样做(即使在匿名块中)。
JavaScript的:
document.body.appendChild(
Object.defineProperty(document.createElement('style'),
'innerHTML',
{ value:'div{color:gainsboro;}' }
)
)
ps这不是生产代码,这个问题仅仅是为了好奇。
我想你想要Object.assign
(ES 6):
var styleElement = Object.assign(
document.createElement('style'),
{innerHTML: 'div{color:gainsboro;}'}
);
您可以这样添加属性:
<html>
<body id="bdy">
<script>
document.getElementById("bdy").appendChild(document.createElement('style'));
document.getElementById("bdy").lastChild.innerHTML = 'div{color:gainsboro;}'
</script>
<div>
This is a div.
</div>
</body>
</html>
两个方法调用,但没有临时变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.