javascript - 无法获取背景颜色的未定义或空引用的属性“样式”
问题描述
嗨,我收到以下代码的脚本错误。因为我尝试了所有方法但没有运气。请帮助我,因为我对这个领域很陌生。至少告诉我我哪里错了
<body onload="hightlightMoreLink(2210);hightlightMoreLink(2211);">
function hightlightMoreLink(groupID) {
var isHightlightRequired = top.document.Main.isOtherLabelingCountriesPresent(groupID) var moreLinkColumnElement = "";
var moreLinkElement = "";
if (groupID == 2210) {
moreLinkColumnElement = document.getElementById("MoreLinkTH");
moreLinkElement = document.getElementById("labelingMoreLink");
} else {
moreLinkColumnElement = document.getElementById("MoreLinkTHUnblind");
moreLinkElement = document.getElementById("labelingMoreLinkUnblind");
}
if (isHightlightRequired) {
moreLinkColumnElement.style.backgroundColor = "#26339f";
moreLinkElement.style.color = "#fff";
} else {
moreLinkColumnElement.style.backgroundColor = "#f5f5f5";
(getting error on this line)
moreLinkElement.style.color = "#26339f";
}
}
解决方案
首先,您应该创建一个小提琴,以便人们可以更好地理解问题。
不过,检查您的代码,我认为问题出在这一行:
var isHightlightRequired = top.document.Main.isOtherLabelingCountriesPresent(groupID)
检查它是否返回布尔值。
除此之外,我认为您应该使用类来操作元素的样式。你对身体施加的负荷也不是一个好习惯。Jquery 具有用于此目的的功能。
$( document ).ready(){
hightlightMoreLink(2210);
}
我要指出的另一件事是您可以使用 jquery 来操作元素。原样:
$("#MoreLinkTH").css("background-color", "#26339f");
$("#labelingMoreLink").css("color", "#fff");
推荐阅读
- java - JavaFX——按键事件被按钮中断
- webpack - 如何获取不同 webpack 条目的 URL?
- d3.js - D3 共享缩放/过渡
- javascript - 使用按钮更改 div 的文本
- ruby-on-rails - 为什么我的 rails 网站没有显示我的文本字段?
- php - 如何将自定义分类法创建为自定义帖子类型?
- android - 如何在点击时更改标签颜色?
- javascript - 使用 material-ui 无法在 radioGroup 中触发 onChange
- matlab - 将单个 MATLAB 图组合成一个图形:修改脚本是最佳选择吗?
- azure - 在密钥保管库访问策略中引用托管标识时出现 Azure ARM 模板 ResourceNotFound 错误