使用" document.getElemenentsByTagName()"在JS中

时间:2017-10-30 17:12:04

标签: javascript dom

我对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;
&#13;
&#13;

答案将帮助我解决这个问题。 (没有JQuery) 的干杯

1 个答案:

答案 0 :(得分:0)

document.getElementsByTagName返回元素集合。

https://www.w3schools.com/jsref/met_document_getelementsbytagname.asp

您需要指定索引0以获取第一个元素。仅在您的情况下,获取元素。

document.getElementsByTagName( 'H1')[0] = .style.backgroundColor “黄色”;