Я пробовал val (), innerHTML, innerText, value, но он возвращает неопределенное или пустое значение. Почему?
var a = $('#test').val(); alert(a);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div> <div id="test">hello</div> </div>
Чтобы получить внутренний текст узла, вы должны использовать .text ();
Источник: https://api.jquery.com/text/
var a = $('#test').text(); alert(a);