Javascript 无法在运行时向元素添加CSS样式
我有以下代码来更改元素的样式,一旦我进入页面,警报窗口将显示带有“myP”消息的;无论是谁,样式都不会添加到元素中。另外,如果您有基于jQuery的解决方案,请告诉我Javascript 无法在运行时向元素添加CSS样式,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有以下代码来更改元素的样式,一旦我进入页面,警报窗口将显示带有“myP”消息的;无论是谁,样式都不会添加到元素中。另外,如果您有基于jQuery的解决方案,请告诉我 <!DOCTYPE html> <html> <body> <script type="text/javascript"> alert("myP"); document.getElementById("myP").style.fontWe
<!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>
警报(“myP”);
document.getElementById(“myP”).style.fontwweight=“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>
...
...
警报(“myP”);
document.getElementById(“myP”).style.fontwweight=“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>
...
...
警报(“myP”);
document.getElementById(“myP”).style.fontwweight=“bold”;
演示::这是因为在执行JS代码时未加载文档 将javascript代码包装到window.onload函数中,如下所示
window.onload = function(){
alert("myP");
document.getElementById("myP").style.fontWeight = "bold";
}
注意:-养成查看控制台的习惯。这是因为在执行JS代码时未加载文档 将javascript代码包装到window.onload函数中,如下所示
window.onload = function(){
alert("myP");
document.getElementById("myP").style.fontWeight = "bold";
}
注意:-养成查看控制台的习惯。根据OP基于jQuery的解决方案的要求,等待DOM加载将是一个非常简单的过程
$(document).ready(function(){
alert("myP");
$("#myP").css("font-weight", "bold")
});
根据OP jQuery的要求,等待加载DOM的解决方案将是
$(document).ready(function(){
alert("myP");
$("#myP").css("font-weight", "bold")
});
谢谢你的回答,但是Itunjay先生在你之前发布了他的答案,所以我需要接受他的答案。谢谢你的回答,但是Itunjay先生在你之前发布了他的答案,所以我需要接受他的答案。