In TypeScript, in order to access elements, or we can say HTML components, we use the Document Object Model (DOM). The DOM defines HTML and XML programming interfaces that visualize the document structure as a tree of nodes. Paragraphs, buttons, divs, headings, etc. are just a few examples of document elements represented by each node in the tree.
The document object in TypeScript acts as a portal to the DOM. This means we can easily access DOM elements using TypeScript. There are various ways to access elements, these are -
Use document.querySelector() method
Use document.getElementById() method
Use document.getElementsByClassName() method
Use document.getElementsByTagName() method
In this tutorial, we will discuss the first two methods, namely document,querySelector() and document.getElementById() methods.
The document.getElementById() method is the most common method and the main method used to access HTML elements in TypeScript. This method takes as a parameter the id of the element the user wants to access and returns the element as an object.
For example, if you have an HTML element with the ID "myDiv", you can access it in TypeScript like this -
let myDiv = <HTMLElement>document.getElementById("myDiv"); //Manipulating the element by setting its innerHTML myDiv.innerHTML = "Hello, World!";
In this example, we have an HTML div element with the id "root". In the script, we use the document.getElementById() method to access the element by its id. This method takes the string "root" as parameter and returns the element as an object. We then assign this object to the variable root.
We used two buttons with click event handlers to execute the "changeText" and "changeBG" functions. These functions change the element's innerHTML text and background color respectively. Since TypeScript code cannot be used in HTML, we need to compile it first and then use the compiled JavaScript code with HTML.
The file in which we need to write TypeScript code and compile it.
let root = <HTMLElement>document.getElementById('root') function changeText() { root.innerHTML = 'The text is changed!' } function changeBG() { root.style.background = '#b8f0e5' } </HTMLElement>
HTML code is where we define web page elements.
<html> <body> <h2>Access an <i>Element</i> in TypeScript</h2> <button onclick="changeText()">Change Text</button> <button onclick="changeBG()">Change Background Color</button> <div id="root" style="padding: 10px; background: #f0ecb8"> This is a Div element! </div> <script> //Compiled TypeScript File var root = document.getElementById('root') function changeText() { root.innerHTML = 'The text is changed!' } function changeBG() { root.style.background = '#b8f0e5' } </script> </body> </html>
This method will return null if the element with the specified id does not exist, so it is important to check this before operating on the returned element.
Another way to access DOM elements using TypeScript is to use the querySelector() and querySelectorAll() methods. These methods select elements via CSS selectors, similar to jQuery.
const el = <HTMLElement>document.querySelector('#myDiv');
In this example, we use the querySelector() method to access HTML elements through TypeScript. We take an input field to provide the input and try to display the exact text on the web page by accessing the input field and the div element. We use the querySelector() method and pass the id of the input field and div element. We added an input event property on the input field to execute a function when the user types into it. This function is used to access both elements and change the text of the div to the exact text on the input field.
<html> <body> <h2>Access an <i>Element</i> in TypeScript</h2> <h4>Enter your text:</h4> <input oninput="changeInput()" id="inputField" type="text" /> <div id="root" style="padding: 10px; background: #d5ed9c"></div> <script> //Compiled TypeScript File var root = document.querySelector('#root') var inputField = document.querySelector('#inputField') function changeInput() { root.innerHTML = inputField.value } </script> </body> </html>
Note that the getElementsByClassName, getElementsByTagName, and getElementsByName methods also allow you to access elements, but they return a collection of elements rather than a single element.
To access HTML elements in TypeScript, you can use the document object and its various methods (such as getElementById, querySelector, and querySelectorAll) to find the element you want to access and then operate on it as needed.
The above is the detailed content of Access elements in typescript. For more information, please follow other related articles on the PHP Chinese website!