我已尽力解决自己的问题,但在开始使用相当简单的 JS 脚本时遇到了困难。
我正在尝试更改包含指定元素类的“-”字符的文本的字体颜色。
这就是我所拥有的:
<html>
<body>
<script>
<!--
function myFunction()
{
var elements = document.getElementsByClassName("example");
for(var i = 0, length = elements.length; i < length; i++)
{
if(elements[i].textContent.indexOf('-') != -1)
{
elements[i].style.color = red;
}
}
}
-->
</script>
<table>
<tr>
<td class="example">-100<td>
<td class="example">100<td>
</tr>
</table>
</body>
</html>
我做错了什么?
编辑: 这是我使用的最终代码,效果非常好。
<!DOCTYPE html>
<html>
<body>
<script type="text/javascript">
<!--
function myFunction()
{
var elements = document.getElementsByClassName("example");
for(var i = 0, length = elements.length; i < length; i++)
{
if(elements[i].textContent.indexOf('-') !== -1)
{
elements[i].style.color = "red";
} else
{
elements[i].style.color = "green";
}
}
}
-->
</script>
<table>
<tr>
<td class="example">-100<td>
<td class="example">100<td>
</tr>
</table>
<script type="text/javascript">
<!--
myFunction();
-->
</script>
</body>
</html>
最佳答案
我认为这里总共存在三个错误:
根本不调用该函数。可以这样处理:
<body onload="myFunction();">
indexOf
的使用不正确。正确的做法是这样的:if(elements[i].textContent.indexOf('-') !== -1)
不引用颜色文字。放
red
用引号引起来。elements[i].style.color = "red";
关于JavaScript:更改类指定元素的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26332684/