How to find the position of HTML elements in JavaScript ?
Last Updated :
20 Dec, 2023
In this article, we are given an HTML document and the task is to get the position of any element by using JavaScript. Use the following steps to get the position:
Step 1: Selecting an element: Before finding the position, it is necessary to select the required HTML element. Every element in HTML is structured in a tree-like format known as DOM or Document Object Model. In JavaScript, there is an in-built object called the document object that points to the root of the DOM tree. It means that it is possible to access every component of the web page.
The document object has various methods available to find a particular element within the HTML page. Each of these methods has a parameter that could be used to find the required element. Some of the methods are:
Step 2: Finding the position of the element: To get the location of any HTML element in the (x, y) coordinate format.
There are two document properties that are used:
It returns the top position in pixels, relative to the top of the parent element. It includes the top position, and margin of the element and the top padding, scrollbar, and border of its parent element.
Example:Â This example shows the use of the above-explained approach.
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
</head>
<body>
<div id="target">
<p>Click the button</p>
<button onclick="getPoint()">
Click
</button>
<p id="output"></p>
</div>
<script>
function getPoint() {
let target = document
.getElementById("target");
let output = document
.getElementById("output");
output.innerHTML = "offsetTop: "
+ target.offsetTop;
}
</script>
</body>
</html>
Output:Â
find the position of HTML elements in JavaScriptIt returns the left position in pixels, relative to the left of the parent element. It includes the left position, and margin of the element and the left padding, scrollbar, and border of its parent element.
Example:Â This example shows the use of the offsetLeft property.
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
</head>
<body>
<div id="target">
<p>Click the button </p>
<button onclick="getPoint()">
Click
</button>
<p id="output"></p>
</div>
<script>
function getPoint() {
let target = document
.getElementById("target");
let output = document
.getElementById("output");
output.innerHTML = "offsetLeft: "
+ target.offsetLeft;
}
</script>
</body>
</html>
Output:Â
find the position of HTML elements in JavaScript
Combining both these properties into one to get the code for calculating the coordinates for an HTML element is given as follows:
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
</head>
<body>
<div id="target">
<p>
Click the button to get the
co-ordinate of the element
</p>
<button onclick="getPoint()">
Get coordinate
</button>
<p id="output"></p>
</div>
<script>
function getPoint() {
let target = document
.getElementById("target");
let output = document
.getElementById("output");
output.innerHTML =
"Co-ordinate of the element:" +
" (" + target.offsetLeft + ", "
+ target.offsetTop + ")";
}
</script>
</body>
</html>
Output:Â
find the position of HTML elements in JavaScript
Similar Reads
How to loop through HTML elements without using forEach() loop in JavaScript ? In this article, we will learn how to loop through HTML elements without using the forEach() method. This can be done in the following ways: Table of Content Approach 1: Using the for loopApproach 2: Using the While loopApproach 3: Using the 'for.....of' statementApproach 4: Using the for...in state
4 min read
How to get/change the HTML with DOM element in JavaScript ? In order to get/access the HTML for a DOM element in JavaScript, the first step is to identify the element base on its id, name, or its tag name. Then, we can use inner.HTML or outer.HTML to get the HTML. Using the getElementById() method: This method gets/identifies the DOM elements using its ID an
3 min read
How to Get and Set Scroll Position of an Element using JavaScript ? In this article, we will learn how to get and set the scroll position of an HTML element using JavaScript.Approach: We will be using the HTML DOM querySelector() and addEventListener() methods and the HTML DOM innerHTML, scrollTop and scrollLeft properties.We create an HTML div element with an id of
3 min read
How to get the position of scrollbar using JavaScript ? JavaScript is an amazing language and there are many functions available through which we can access any element of the HTML page through javascript. There are some simple techniques to get the scrollbar position that are discussed below: Approach 1: Whenever the function getScroll() is encountered,
3 min read
How to select DOM Elements in JavaScript ? Selecting DOM (Document Object Model) elements is a fundamental aspect of web development with JavaScript. It allows developers to interact with and manipulate elements on a webpage dynamically. Proper selection of elements is crucial for tasks such as updating content, adding event listeners, or mo
3 min read