微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 无法读取未定义的属性“样式” – 未捕获的类型错误

我想更改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已经加载.

原文地址:https://www.jb51.cc/js/150671.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐