追加子项删除样式
appendChild removes style
我尝试使用appendChild函数来创建具有某些样式属性的新图像节点。使用它后,所有属性都将消失。图像应该随机放置在左侧div上,但是,实际上,它们被对齐成一行。
<html>
<head>
<title>Matching Game</title>
<style>
#rightSide {
position: absolute;
left: 700px;
border-left: 1px solid black;
width:700px;
height:700px;
}
#leftSide {
width:700px;
height:700px;
position: absolute;
}
</style>
</head>
<body onload="generateFaces()">
<h1>Matching Game</h1>
<p>Click on the extra smiling face on the left</p>
<div id='leftSide'>
</div>
<div id='rightSide'>
</div>
<script>
var numberOfFaces = 5;
var theLeftSide = document.getElementById('leftSide');
var generateFaces = function() {
for(var i = 0; i < numberOfFaces; i++)
{
var img = document.createElement('img');
img.src = 'smile.png';
img.style.top = Math.floor(Math.random()*600);
img.style.left = Math.floor(Math.random()*600);
theLeftSide.appendChild(img);
}
}
</script>
</body>
</html>
https://i.stack.imgur.com/fZaYA.png
Math.floor(Math.random()*600);
将返回一个数字。除非值0
,否则 CSS left
和top
属性需要长度。长度有单位。
此外,您尚未将 position
属性从 static
更改为 ,因此 left
和 top
属性将不起作用,因为它们仅适用于定位的元素。
这应该可以解决你的问题。
var img = document.createElement('img');
img.style.top = Math.floor(Math.random()*600) + 'px';
相关文章:
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 在样式表中声明元素后,删除该元素的悬停属性
- 删除在特定事件上设置的样式
- 使用CSS将鼠标悬停在子对象上时,删除父对象上的悬停样式
- 如何删除样式属性
- 正在动态删除中的样式
- 更改元素的类将删除其以前的所有样式
- 如何使用jQuery删除特定的内联样式
- 如何从代码中删除C样式注释
- 用程序从单个HTML元素中删除CSS样式规则
- 删除所有与内联字体相关的标记,即使它在内联样式中也是如此
- 删除脚本和样式标记中的所有内容
- 动态添加和删除样式表
- 应用和删除大的 CSS 样式部分
- 当响应式样式不再适用时删除类
- 从通过链接标记链接的页面中删除或禁用样式表
- CSS 导航链接样式:删除其他元素的样式,并在将鼠标悬停在选定元素上时删除双边框
- javascript添加样式删除样式
- 如何在高图中通过样式删除轴和网格线
- 以内联样式删除无效的css属性