无法在运行时将CSS样式添加到元素中
Cannot add CSS style to an element at runtime
我有以下代码来更改元素的样式,一旦我进入页面,警报窗口将显示并显示"myP"消息;无论是谁,样式都不会被添加到元素中。另外,如果你有基于jQuery的解决方案,请告诉我。
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
alert("myP");
document.getElementById("myP").style.fontWeight = "bold";
</script>
...
<a id="myP" href="www.example.com">Example</a>
...
</body>
</html>
根据基于OP jQuery的解决方案的请求,等待加载DOM将是
$(document).ready(function(){
alert("myP");
$("#myP").css("font-weight", "bold")
});
这是因为在执行JS代码时没有加载文档。
将javascript代码包装到窗口。onload函数,如下面的
window.onload = function(){
alert("myP");
document.getElementById("myP").style.fontWeight = "bold";
}
注意:-养成看控制台的习惯。
您的脚本将在加载元素之前运行。您需要将它包装在一个函数中,并在加载文档时调用它。
您的元素不会被脚本找到,因为当您对其调用getElementById
时,它不会被加载,所以在关闭body标记之前移动您的脚本代码,如下所示:
<!DOCTYPE html>
<html>
<body>
...
<a id="myP" href="www.example.com">Example</a>
...
<script type="text/javascript">
alert("myP");
document.getElementById("myP").style.fontWeight = "bold";
</script>
</body>
</html>
演示:jsFiddle
相关文章:
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 如何使用jquery遍历具有动态添加元素的数组
- jQuery appendTo 替换元素而不是添加元素,如果正在添加的元素预先存在于列表中
- 如何使用jquery添加元素
- 动态添加元素上的 HammerJS
- CSS没有'使用javascript向页面动态添加元素时无法工作
- 使用Javascript在DOM元素中添加元素
- 在添加元素时激发JS事件
- 什么's是在IE8+中添加元素的最有效方法
- d3.js在添加元素时协调
- 使用路由器链接动态添加元素
- 动态添加元素
- 在页面内容完全加载后,使用jQuery在DOM中添加元素
- j查询绑定单击不添加元素
- 在循环 jQuery 上添加元素
- 从一个页面调用 javascript 函数以在第二个页面上添加元素
- 页面加载后向<正文>添加元素时出现问题
- 动态添加元素时刷新 HTML
- 动态添加元素时不触发 JQuery 事件
- 如何使用 JavaScript 获取动态添加元素的宽度