Javascript 不显示带有 display = “block” 的元素
Javascript doesn't show elements with display = "block"
我通过javascript创建了一个<div>
,它的css中有display:hidden;
。我想让它成为一个块元素,但它不会出现。这是我的代码。
var fatGooseShop = document.createElement('div');
fatGooseShop.width = canvas.width / 1.5 + "px";
fatGooseShop.height = canvas.height / 1.5 + "px";
fatGooseShop.style.position = "absolute";
fatGooseShop.style.left = "50%";
fatGooseShop.style.top = "50%";
fatGooseShop.style.margin = "-" + (canvas.height / 1.5) / 2 + "px 0px 0px -" + (canvas.width / 1.5) / 2 + "px";
fatGooseShop.style.backgroundColor = "yellow";
fatGooseShop.style.display = "none";
function shop()
{
fatGooseShop.style.display = "block";
}
我从浏览器调用 shop()
函数来运行它,如果这有什么不同的话。
-
首先,您需要附加元素
document.getElementById("test").appendChild(fatGooseShop);
没有 内容,您实际上没有设置块的宽度或高度,因此它不可见。您需要按如下方式修改代码。注意:这将起作用,前提是
canvas.width
返回非零值
fatGooseShop.style.width = canvas.width / 1.5 + "px"; fatGooseShop.style.height = canvas.height / 1.5 + "px";
这里的例子:
http://jsfiddle.net/DigitalBiscuits/cqbzw/6/
您还需要附加元素
x=document.getElementById("something");
x.appendChild(fatGooseShop);
您可以使用createElement创建元素,但是您需要将其appendChild
到DOM中的另一个元素,然后才能显示。一旦完成,您就可以操纵它。
您忘了将其附加到文档中。在 JS 文件中,在 //Javascript
下方添加行线。
<!--HTML-->
<div id="the-div">
</div>
//Javascript
document.getElementById("the-div").appendChild(fatGooseShop);
相关文章:
- CKEditor Widget-阻止编辑可编辑元素本身
- 如何设置html元素填充的动画
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 表追加而不附加最后一个元素
- 如何在jQuery中获取元素的形式
- 我可以获得相对于被点击元素的确切点击位置吗
- 在函数中添加数组元素的数值
- jQuery show/fadeIn不将display:block应用于隐藏的父元素内的子元素-仅限FireFox
- CSS: jQuery:将右边距应用于 li 元素,除了每个第 4 个子元素(仅适用于 display:block 的元
- JavaScript 代码不会向元素添加 display: block
- Javascript 不显示带有 display = “block” 的元素
- 显示:元素的none/block在Firefox中有效,在Safari或Chrome中无效
- 响应元素显示:无;在移动宽度,然后通过javascript按钮返回,但显示的链接断开:block;
- 当从display:none切换到display:block时,使用Javascript淡出元素
- 查找显示属性为block的元素id
- jQuery toggle table元素:use "display: block"而不是"
- JavaScript的碰撞检测.(检查两个Block Level元素是否接触)