Вы можете сделать что-то подобное, потому что getElementsByTagName()
возвращает NodeList, поэтому вы можете перебирать его как массив или получать длину.
document.addEventListener('DOMContentLoaded', function() {
var listElements = document.getElementById('list').getElementsByTagName("li");
alert(listElements.length);
})
<body>
<ul id="list">
<li >aaaaaa</li>
<li>bbbbbb</li>
<li>cccccc</li>
</ul>
</body>
getElementsByName()
хотя также возвращает NodeList, но возвращает список всех одинаковых элементов имени в целом документе поэтому, чтобы эта работа работала, вам нужно дать одно и то же имя всем элементам списка.
document.addEventListener('DOMContentLoaded', function() {
var len = document.getElementsByName('name').length;
alert(len);
});
<body>
<ul>
<li name="name">aaaaaa</li>
<li name="name">bbbbbb</li>
<li name="name">cccccc</li>
</ul>
</body>