document.getElementsByTagName不是函数

时间:2013-04-03 10:11:57

标签: javascript

代码应该在<script>标签之间使用javascript 由鼠标悬停事件组成,HTML页面中的列表项必须包含 样式如下:正常 - 黑色,12,粗体和黄色,15,粗体,斜体。

<html>
<head>
<title> Using mouseover eve </title>
<script language = "javascript">
<!--
    function changeStyle() {

        var item = document.getElementByTagName("li");
        item.style.color = "yellow";
        item.style.fontSize = "15pt";
            item.style.fontWeight = "bold";
        item.style.fontStyle = "italic";

    }
-->
</script>
</head>
<body>
<ul style = "color: black; font-size: 12pt; font-weight: bold" >
    <li onMouseOver = "changeStyle()"> item 1 </li>
    <li onMouseOver = "changeStyle()"> item 2 </li>
</ul>
</body>
</html>

3 个答案:

答案 0 :(得分:11)

这是因为正确的函数名称是 getElementsByTagName 不是 getElementByTagName

 var items = document.getElementsByTagName("li");

这将返回具有该特定标记名称的元素的Nodelist(在本例中为文档中的所有列表项)。

然后,您可以根据需要专门定位您的li,例如:

items[0].style.color = "yellow"; // first li is yellow when mouseover
items[1].style.color = "red"; // second li is red when mouseover 

答案 1 :(得分:3)

函数的正确名称是getElementsByTagName(带有's'),它返回一个元素数组,而不仅仅是一个元素。如果你想从数组中获取第一个项目,你需要做这样的事情:

var item = document.getElementsByTagName("li")[0];

答案 2 :(得分:0)

它应该是document.getElement s ByTagName