这是我的代码:
(a=document).getElementsByTagName('body')[0].appendChild(a.createElement('div').style.cssText="someCssStyle");
它不起作用! 但是当我只写这个:
(a=document).getElementsByTagName('body')[0].appendChild(a.createElement('div'));
它有效,为什么我不能添加具有特定样式的div元素? 我的工作有什么问题? 我想使用以下命令添加一个具有特定样式的div元素,只需使用以下链接植入:
javascript://all of my code goes here
所以一定要做空。
答案 0 :(得分:1)
它不起作用的原因是:
...appendChild(a.createElement('div').style.cssText="someCssStyle")
您将字符串("someCssStyle"
)传递给appendChild
,而不是元素引用。 JavaScript中赋值的结果是右手值。
我不推荐它,但您可以使用the comma operator执行此操作:
(a=document).getElementsByTagName('body')[0].appendChild(d=a.createElement('div'),d.style.cssText="someCssStyle",d);
请注意,您的代码和上述代码都会成为The Horror of Implicit Globals的牺牲品。
或更合理地说,一个功能:
(function(){var a=document,d=document.createElement('div');d.style.cssText="someCssStyle";a.getElementsByTagName('body')[0].appendChild(d)})();
......其中不成为 THoIG 的牺牲品。
答案 1 :(得分:1)
a.createElement( 'DIV')。style.cssText = “someCssStyle”
这将返回“someCssStyle”,它将作为(a=document).getElementsByTagName('body')[0].appendChild(
函数的参数给出。所以div永远不会被添加。你能在这里看到问题吗?
您必须创建div,对其进行样式设置然后将其添加到正文中。喜欢这个
var div = document.createElement("div");
div.style.cssText = "someCssStyle";
document.body.appendChild(div);