【发布时间】:2015-06-03 09:52:34
【问题描述】:
我对这段代码有疑问,我用getElementById 做了所有事情,它对我有用。但同样的代码不适用于
document.getElementsByClassName("hearts");
我的 HTML 代码是
status = 1;
function changeStyle() {
//Note the lowercase first letter.
x = document.getElementsByClassName("hearts");
if (status == 1) {
x.style.color = 'white';
status = 2;
} else if (status == 2) {
x.style.color = 'red';
status = 1;
}
}
<a onclick="javascript:changeStyle();" style="color:red;" class="hearts"> my code </a>
【问题讨论】:
-
还有一个错误是javascripot的拼写错误
-
因为你的选择器是通过
ID而不是class定位一个元素。看看使用get.ElementsByClassName()你将需要对使用[0]的多个元素使用for 循环来选择该类的第一个元素。 -
仅几行就可以犯的错误数量令人惊讶。您是否考虑过在此处发布之前调试您的代码?
-
试试
var x=document.getElementsByClassName("hearts")[0]; -
您的代码只使用第一个元素,如果我有 10 个元素怎么办?
标签: javascript jquery html class