Здравствуйте, у меня есть динамическая веб-таблица, и я хочу подсчитать гиперссылки в таблице с помощью Javascript.
Вот HTML:
<tbody>
<tr>
<td style = "..."
<a id = " " href = "test1">123456</a>
</td>
<td style = "..."
<a id = " " href = "test2">123477</a>
</td>
<<td style = "..."
<a id = " " href = "test3">1234557</a>
</td>
Я хочу получить количество href из этого HTML
Это то, что я пробовал до сих пор:
Function Rowcount(){
var totalRowCount=0;
//identifying the table
var table=document.getElementById("tableID");
//identifying the row
var rows=table.getElementsByTagName("tr");
var tdata=null;
for( var i=0; i<rows.length; i++){
tdata=rows[i].getElementsByTagName("td")
}
}
Я не понимаю, как я должен ссылаться на "href"
getElementsByTagName("a").length


![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы хотите подсчитать все теги A внутри таблицы?
Сделайте что-нибудь вроде
const table = document.getElementById("tableID");
const total = table.querySelectorAll('a').length;
getElementsByTagName делает работу, вам не нужно querySelectorAll@Geoffroy Я бы посоветовал использовать getElementsByTagName только в том случае, если вам действительно, я имею в виду, В самом деле, нужен живой HTMLCollection, а не NodeList.
Используйте querySelectorAll и получите длину коллекции:
let linkCount = document.querySelectorAll('#tableID tr > td > a').length
console.info(linkCount)<table id = "tableID">
<tbody>
<tr>
<td style = "..."> <a id = " " href = "test1">123456</a>
</td>
<td style = "..."> <a id = " " href = "test2">123477</a>
</td>
<td style = "..."> <a id = " " href = "test3">1234557</a>
</td>
</tbody>
</table>document.querySelectorAll('#tableID a').length, вероятно, будет достаточно, если в OP нет вложенных таблиц. tableID.querySelectorAll('a').length тоже сработает.
Пытаться
mytable.querySelectorAll('a').length
let linksNum = mytable.querySelectorAll('a').length;
console.info( linksNum );<table id = "mytable">
<tbody>
<tr>
<td style = "...">
<a id = " " href = "test1">123456</a>
</td>
<td style = "...">
<a id = " " href = "test2">123477</a>
</td>
<td style = "...">
<a id = " " href = "test3">1234557</a>
</td>
</tbody>
</table>Вы можете попробовать это, см. ссылка. Это выберет все элементы HTMLAnchorElement внутри таблицы, вы можете изменить родителя в соответствии с вашим состоянием.
var container = document.querySelector("table"); // parent
// if you have many tables you can do something like,to select particular table
//var container = document.getElementById("tableid"); // parent
var matches = container.querySelectorAll("a");
console.info(matches.length)<table>
<tbody>
<tr>
<td style = "...">
<a id = " " href = "test1">123456</a>
</td>
<td style = "...">
<a id = " " href = "test2">123477</a>
</td>
<td style = "...">
<a id = " " href = "test3">1234557</a>
</td>
</tr>
</tbody>
</table>Нет "href элементы". Только элементы, которые имеют hrefатрибут, такие как HTMLAnchorElement и HTMLLinkElement.
название тега
a.hrefявляется атрибутом.