10

代码应该在<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>
4

3 回答 3

18

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

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

这将返回具有该特定标签名称的元素的节点列表(在这种情况下,文档中的所有列表项)。

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

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

等等

于 2013-04-03T10:12:36.750 回答
3

该函数的正确名称是getElementsByTagName(带有's'),它返回一个元素数组,而不仅仅是一个元素。如果要从数组中获取第一项,则需要执行以下操作:

var item = document.getElementsByTagName("li")[0];
于 2013-04-03T10:15:22.177 回答
1

它应该是 document.getElement s ByTagName

于 2019-02-21T14:45:10.753 回答