Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

document.getElementByTagName is not a function

Tags:

javascript

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>
like image 578
Welcome Mohlala Avatar asked Apr 03 '13 10:04

Welcome Mohlala


People also ask

What is the syntax of getElementsByTagName ()?

Syntax: var elements = document. getElementsByTagName(name);

What is getElementsByTagName?

The Element. getElementsByTagName() method returns a live HTMLCollection of elements with the given tag name. All descendants of the specified element are searched, but not the element itself. The returned list is live, which means it updates itself with the DOM tree automatically.

What is getElementsByTagName return?

getElementsByTagName() The getElementsByTagName method of Document interface returns an HTMLCollection of elements with the given tag name. The complete document is searched, including the root node.

What is the difference between getElementById and getElementsByTagName?

The difference is that GetElementByID() will retrieve a single element object based on the unique id specified, whereas GetElementsByTagName() will retrieve an array of all element objects with the specified tag name. Then you can obtain the value using GetElementById from your C++ code.


2 Answers

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.

like image 50
dsgriffin Avatar answered Oct 30 '22 20:10

dsgriffin


it should be document.getElementsByTagName

like image 29
Nguyen Phong Thien Avatar answered Oct 30 '22 19:10

Nguyen Phong Thien