简体   繁体   English

触发的背景颜色更改不会触发

[英]Triggered background color change doesn't fire

Why doesn't this getElementsByTagName trigger work, but the getElementById will. 为什么此getElementsByTagName触发器不起作用,但是getElementById将起作用。

Fiddle 小提琴

SCRIPT 脚本

<script>
function trigger1()
  {document.getElementsByTagName("td").style.backgroundColor="green";}
function trigger2() {document.getElementById("apple").style.backgroundColor="green";}
</script>

HTML HTML

<table width="90" border="1">
<tr><td>a</td><td>b</td></tr>
<tr><td>d</td><td id="apple">e</td></tr>
</table><br>
<input type="button" onclick="trigger1()" value="change TD backgrounds">
    <br><br>
<input type="button" onclick="trigger2()" value="Change E background">

getElementsByTagName returns an array. getElementsByTagName返回一个数组。

You could make the background of each array item green by iterating through the array like such: 您可以像下面这样遍历数组,使每个数组项的背景变为绿色:

tdElements = document.getElementsByTagName("td");
for(var key in tdElements) { tdElements[key].style.backgroundColor="green"; }

jQuery example: jQuery示例:

$('td').each(function() { $(this).css('background-color', 'green'); });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM