वहाँ एक div में लाइनों की संख्या की गणना और पहली जोड़ी लाइनों का पाठ पाने के लिए एक तरीका है- जावास्क्रिप्ट [डुप्लिकेट]

Jan 08 2021

मेरा लक्ष्य एक div में पहली 3 लाइनों के textContent की लंबाई प्राप्त करना है। Ex:

<div id="content" style="width: 100%;  
                line-height: 20px"> 
        <p>hello how are you?</p> 
        <p>hello how are you too?</p> 
        <p>hello how are you john? </p> 
        <p>hello how are you sphia?</p> 
    </div> 

मैं का उपयोग कर div में निहित लाइनों की संख्या की गणना करने में सक्षम हूँ:

 function countLines() {
   var el = document.getElementById('content');
   var divHeight = el.offsetHeight
   var lineHeight = parseInt(el.style.lineHeight);
   var lines = divHeight / lineHeight;
   alert("Lines: " + lines);
}

हालाँकि, मैं जानना चाहता हूँ कि वहाँ उपरोक्त मामले में पहली 3 पंक्तियों के पाठ की लंबाई का पता लगाने का एक तरीका है:

 <p>hello how are you?</p> 
            <p>hello how are you too?</p> 
            <p>hello how are you john? </p> 

मैं कहता हूं:

var lines = countLines(); // 4
if (lines > 3) {
  test = document.getElementById("content").textContent.length;
// get the length of first 3 lines
}

क्या यह जावास्क्रिप्ट में संभव है?

जवाब

2 WiatroBosy Jan 08 2021 at 15:42

अगर आप jQuery में चाहते हैं

let p = $('#content').find('p'); for (i = 0; i < 3; i++) { console.log($(p[i]).text().length);
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="content" style="width: 100%;  
                line-height: 20px">
  <p>hello how are you?</p>
  <p>hello how are you too?</p>
  <p>hello how are you john? </p>
  <p>hello how are you sphia?</p>
</div>

अंत जे.एस.

let p=document.getElementById("content");
let v=p.getElementsByTagName("p"); 
for (i = 0; i < 3; i++) {
  console.log(v[i].innerHTML.length);
}
<div id="content" style="width: 100%;  
                line-height: 20px">
  <p>hello how are you?</p>
  <p>hello how are you too?</p>
  <p>hello how are you john? </p>
  <p>hello how are you sphia?</p>
</div>