Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
371 views
in Technique[技术] by (71.8m points)

javascript - document.getElementByTagName is not a function

The code supposed to be use javascript between the <script> tags that consists of a mouseover event, and the list items in the HTML page must be styled as follows: normal - black, 12, bold and over yellow, 15, bold, italic.

<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>
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

That's because the correct function name is getElementsByTagName and not getElementByTagName.

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

This will return a Nodelist of elements with that particular tag name (in this case, all list items in the document).

Then, you could target your li's specifically as you wish, for example:

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

etc.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...