Javascript 查找I';我在动态地创造

Javascript 查找I';我在动态地创造,javascript,html,css,dom,Javascript,Html,Css,Dom,如果我有CSS样式: .myClass{ 宽度:1234px; } 我用JS动态添加了一个元素,因此: document.onload=function(){ myParent=document.getElementById(“父项”); 让myNewElmt=document.createElement(“div”); myNewElmt.className=“myClass”; myParent.appendChild(MyNewElmt); console.log(myNewElmt.s

如果我有CSS样式:

.myClass{
宽度:1234px;
}
我用JS动态添加了一个元素,因此:

document.onload=function(){
myParent=document.getElementById(“父项”);
让myNewElmt=document.createElement(“div”);
myNewElmt.className=“myClass”;
myParent.appendChild(MyNewElmt);
console.log(myNewElmt.style.width);//预期“1234px”返回
}
我无法访问样式属性。它呈现得很好,如果我随后查看
myNewElmt.style.width
,比如在
document.onmousedown
函数中,它可以工作,但在创建时不能工作


如何在创建动态创建的元素时访问该元素的css样式?

您可以为元素设置属性

yourElement.setAttribute(“类”、“名称类”)


或者
classList()

请注意,
元素.style.propName
仅用于访问我们使用
style
属性设置的内联样式属性,如:

<div style="height: 200px;">
工作演示:

myParent=document.getElementById(“父项”);
让myNewElmt=document.createElement(“div”);
myNewElmt.style.height='200px';//在此处设置线条高度
myNewElmt.className=“myClass”;
myParent.appendChild(myNewElmt);
console.log(myNewElmt.style.height);//返回200px
console.log(myNewElmt.style.width);//返回“”
让compStyles=window.getComputedStyle(myNewElmt);
console.log(compStyles.width);//返回1234px
.myClass{width:1234px;}

您有一些输入错误:
myParent.appendChild(MyNewElmt)
myNewElemt.style.width
和此处。。应该是
myNewElmt
。。这能解决问题吗?不,打字错误只是我为这个问题创建的简化版本。问题是您在回答中概述的,我使用的是myNewElmt.style而不是
getComputedStyle
我发现我混淆了计算样式的
style.width
。看了这些之后,我最终使用了
getBoundingClientRect()
,它实现了我想要的功能,因为它包含了其他动态修改的样式更改。
let compStyles = window.getComputedStyle(myNewElmt);
console.log( compStyles.width );