我对html和JS比较新。我已经完成了关于" document.getElementsByTagName()"的研究。但是不太了解。
我需要做一个有2个标题,一个组合框和一个按钮的页面。触发按钮上的触发时,标题必须根据在组合框中选择的选项更改其背景颜色,并使用相同的技术进行脱色。这是我到目前为止所做的:
function colorDiscolor() {
var getButton=document.getElementById('b1');
var element=document.getElementById('combo');
var optionValue=element.options[element.selectedIndex].value;
if (getButton.value=="Colorize") {
getButton.value="Decolorize";
if (optionValue=="level_1") {
//obviously wrong
document.getElementsByTagName('h1').style.backgroundColor="yellow";
}
else {
//obviously wrong
document.getElementsByTagName('h2').style.backgroundColor="yellow";
}
}
else {
getButton.value="Colorize";
if (optionValue=="level_1") {
//obviously wrong
document.getElementsByTagName('h1').style.backgroundColor="white";
}
else {
//obviously wrong
document.getElementsByTagName('h2').style.backgroundColor="white";
}
}
}

<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Ex17</title>
<script type="text/javascript" src="Script.js"></script>
</head>
<body>
<div id="h">
<h1>This is h1</h1>
<h2>This is h2</h2>
</div>
<div>
<select id="combo">
<option value="level_1">Level 1</option>
<option value="level_2">Level 2</option>
</select>
<input type="button" id="b1" value="Colorize"
onclick="colorDiscolor()"/>
</div>
</body>
</html>
&#13;
答案将帮助我解决这个问题。 (没有JQuery) 的干杯!
答案 0 :(得分:0)
document.getElementsByTagName返回元素集合。
https://www.w3schools.com/jsref/met_document_getelementsbytagname.asp
您需要指定索引0以获取第一个元素。仅在您的情况下,获取元素。
document.getElementsByTagName( 'H1')[0] = .style.backgroundColor “黄色”;