SO-19760909

Find the element with the most text

by dledle2

HTML

<div id="content">
    <div class="text">foo</div>
    <div class="text">foo bar foo</div>
    <div class="text">foo foo 123123123</div>
    <div class="text">bar</div>
</div>

JavaScript

var longestSoFar = -1;
var longestItem;
var els = document.querySelectorAll('#content .text');

for (var i=0, iLen=els.length, len; i<iLen; i++) {
  len = (els[i].textContent || els[i].innerText).length;
  if ( len > longestSoFar) {
    longestItem = els[i];
    longestSoFar = len;
  }
}

alert(longestItem.textContent || longestItem.innerText);