Home  >  Article  >  Web Front-end  >  How to count the number of lines of text inside a DOM element

How to count the number of lines of text inside a DOM element

王林
王林forward
2023-08-20 17:49:431244browse

How to count the number of lines of text inside a DOM element

Overview

The number of the text lines inside the Document Object Model (DOM) element whether it would be any element that is

,

or

In the second method, we will use the split() method of the array, where we will pass the newline character as a parameter. So the array will be created from the elements before and after the newline character and we will calculate the length of the array.

Algorithm

Step 1 − Create a HTML template, add a div element in it with line-height. Line-height is the height of the particular line. Also create a span tag in which the output will be generated.

Step 2 Now access the parent element of the row in the script tag. Use offsetHeight to calculate the total height of the parent element.

var domHeight = a.offsetHeight;

Step 3 Use the style attribute to get the row height value of the row. Since the row height value also contains the unit "px", we need to use the parseInt() function to get the number from it.

Step 4 Now split the extracted values, namely domHeight and line-height.

var totalLines = domHeight / linesHeight;

Step 5 - The variable "totalLines" contains the number of lines in the parent element. This will return the number of rows in the span tag.

The Chinese translation of

Example

is:

Example

In this example, we will count the number of rows by calculating the height of the entire Document Object Model (DOM) element, using the offsetHeight property to get the height of the DOM element, and dividing the DOM height by the row High, this will give us the output of the total number of rows present in the DOM.

<html>
<head>
   <title>Count the text lines inside of DOM element</title>
</head>
<body>
   <div id="lines" style="line-height: 30px;">
      Welcome to tutorialspoint<br>
      Visit us at: https://www.tutorialspoint.com/<br>
      Buy the course of your domain <br>
      Get the certificate <br>
      Thank you for visiting<br>
   </div>
   <strong style="border: 2px solid black; padding: 0.1rem;">
      Total number of lines:
      <span id="out"></span>
   </strong>
   <script>
      var a = document.getElementById("lines");
      var domHeight = a.offsetHeight;
      var linesHeight = parseInt(a.style.lineHeight);
      var totalLines = domHeight / linesHeight;
      document.getElementById("out").innerText=totalLines;
   </script>
</body>
</html>

In the image below, it shows the output of the above example. It contains the "30px" line height, which splits the "offsetHeight" of the DOM element, and returns the number of elements in the span tag.

Algorithm

Step 1 Create an HTML template and add a div element to it. Create a span tag used to generate output.

Step 2 Now access the text inside the parent element using the document.getElementById().

const textLines = document.getElementById("lines").innerText;

Step 3 Use the arraysplit() method to separate the newline character (“

") is passed to it as a parameter. The split method stores the line of text as one element in an array.

Step 4 Now we will use the length method of array to calculate the length of an array which will return the number of text lines in the element.

const numLines = textLines.split("").length;

Step 5 Display the output of the number of text lines in span tag using

document.getElementById("out").innerText=numLines-1;

Here we subtract one from "numLines" because it contains an extra line break element that is inserted before the start of all lines of text.

The Chinese translation of

Example

is:

Example

In this example, we will calculate the number of lines by using the array split() method in which we will access the DOM in a variable and with the help of split(“

” ) method we will pass a line break as argument which will store all the element in an array as the line breaks. After which we will calculate the length of an array, which will return the number of text lines available in the DOM .



   Count the text lines inside of DOM element


   
Welcome to tutorialspoint
Visit us at: https://www.tutorialspoint.com/
Thank you for visiting
Total number of lines: <script> const textLines = document.getElementById(&quot;lines&quot;).innerText; const numLines = textLines.split(&quot;&quot;).length; document.getElementById(&quot;out&quot;).innerText=numLines-1; </script>

In the below image, it shows the output of the above example. In which all the three text lines are stored in the array as an element. So on calculating the length of an array it will return 3.

结论

In the first example we had to parse the value of the line-height with parseInt() because it contains the string value also and if we divide that value from the “offsetHeight” value then it will return (NaN) which means “Not A Number”. So we had used parseInt(), but we can also use parseFloat() if we want to return it in decimal.

The above is the detailed content of How to count the number of lines of text inside a DOM element. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete