[英]Set innerHTML of anonymous object
I want to set innerHTML
of style
element, but Object.defineProperty
overrides native setter and it becomes usual property. 我想设置style
元素的innerHTML
,但是Object.defineProperty
会覆盖原生setter,它会变成通常的属性。 I know that I should split it to element creation and property assignment, but I interested in doing this without temp vars (even in anonymous block). 我知道我应该将它拆分为元素创建和属性赋值,但我有兴趣在没有临时变量的情况下这样做(即使在匿名块中)。
javascript: JavaScript的:
document.body.appendChild(
Object.defineProperty(document.createElement('style'),
'innerHTML',
{ value:'div{color:gainsboro;}' }
)
)
ps It`s not production code, this question asked just for curiosity. ps这不是生产代码,这个问题仅仅是为了好奇。
I think you want Object.assign
(ES 6): 我想你想要Object.assign
(ES 6):
var styleElement = Object.assign(
document.createElement('style'),
{innerHTML: 'div{color:gainsboro;}'}
);
You can just append the attribute this way: 您可以这样添加属性:
<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>
Two method calls, but no temp variable. 两个方法调用,但没有临时变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.