我想更改html页面的span元素中文本的颜色,字体大小和字体粗细.
我使用以下代码:
if(window.location.href.indexOf("test") > -1){ var search_span = document.getElementsByClassName("securitySearchQuery"); search_span[0].style.color = "blue"; search_span[0].style.fontWeight = "bold"; search_span[0].style.fontSize = "40px"; }
以下是我的html页面的代码
<h1 class="keyword-title">Search results for<span class="securitySearchQuery"> "hi".</span></h1>
我想通过id获取元素,但不幸的是它们只有类和没有id.我没有权限更改HTML代码,只是将js代码添加到网站外部.
我试图查看其他stackoverflow帖子,但可以找到解决方案.
我是js和css的新手,请告诉我哪里出错了.
解决方法
添加你的< script>在< body>的底部,或者在
this StackOverflow question之后为DOMContentLoaded添加事件侦听器.
如果该脚本在< head>中执行代码的一部分,document.getElementsByClassName(…)将返回一个空数组,因为尚未加载DOM.
您正在获取类型错误,因为您引用了search_span [0],但未定义search_span [0].
这在您在Dev Tools中执行时有效,因为DOM已经加载.