如何使用 JavaScript 显示文档中的链接数量?
我们使用document对象的links属性来使用JavaScript显示文档中的链接数量。document 对象是 DOM 的一部分,对应于浏览器已加载的当前网页。它包含有关浏览器和网页状态的所有信息。
links是document对象的属性,它返回HTML文档中所有超链接的列表。超链接可能看起来像这样:
"https://www.tutorialpoints.com/php"
document 对象的 links 属性列出所有具有 href 属性和 <area>、<a> 标签的 HTML 元素。
锚点标签 <a> 用于在 HTML 中定义超链接。它包含 href 属性,该属性可以包含指向其他页面、文件等的超链接。
以下是一些示例:
<a href="https://tutorialspoint.com/php">PHP</a> <a href="https://tutorialspoint.com/html5">HTML</a>
<area> 标签用于在图像内创建可点击区域。它包含各种属性,例如shape、coords、href、alt等,用于定位图像上的可点击区域。它始终用于map标签内。
这是一个例子:
<area shape="rect" coords="184,6,253,27" href="https://mozilla.org" target="_blank" alt="Mozilla" />
使用 Document 的links属性
它是 document 对象的一个属性。它包含文档中链接的列表及其相关属性。我们可以使用length属性获取文档中链接的总数。
要获取文档中链接的总数,我们可以遵循以下语法。
语法
var val = document.links.length;
这里val是文档中链接的总数。
让我们来看一个例子以便更好地理解。
示例 1
在下面的代码片段中,我们在 HTML 文档中添加了 3 个超链接,我们将使用document.links显示文档中的链接数量。
<!DOCTYPE html> <html> <body> <a href="https://tutorialspoint.com/php">PHP</a> <br> <a href="https://tutorialspoint.com/java/">Java</a> <br> <a href="https://tutorialspoint.com/html5/">HTML</a> <br> <a href="https://tutorialspoint.com/css/">CSS</a> <script> var val = document.links.length; document.write("<br>Number of links in the document: "+val); </script> </body> </html>
它打印文档中的链接数量。
返回的链接列表可以迭代,并且它的属性也可以访问。可以使用随机访问运算符 [] 访问任何链接,并且它的 href 等属性可以使用点 (.) 运算符链接。
语法
var ithURL = document.links[i].href
这将访问 HTML 文档中的第 i 个链接,并将其保存在ithURL变量中。
示例 2
在下面的代码片段中,我们将创建一个按钮,该按钮首先提取 HTML 文档中存在的所有链接的列表,然后迭代该列表以记录 HTML body 中的每个超链接。
<!DOCTYPE html> <html> <body> <a href="https://tutorialspoint.com/php">PHP</a> <br> <a href="https://tutorialspoint.com/java/">Java</a> <br> <a href="https://tutorialspoint.com/html5/">HTML</a> <br> <a href="https://tutorialspoint.com/css/">CSS</a> <br><br> <button onclick = "findLinks()"> Find Links ! </button> <div id = "result"></div> <script> var links = document.links; var text = ""; var resultDiv = document.getElementById("result"); function findLinks(){ text += "<br>The number of links in the document is : " + links.length text += "<br>These are the " + links.length + " links in the document: <br><br>"; for(var i = 0 ; i < links.length ; i++){ text += links[i].href + "<br>"; } resultDiv.innerHTML = text; } </script> </body> </html>
“查找链接”按钮触发findLinks()函数。在函数内部,我们使用 for 循环迭代列表并使用 href 属性在屏幕上记录 URL。
使用 Document links 的item属性
另一种方法是使用document.links的 item 属性。
var ithURL = document.links.item(i).href
它提取文档中第i个超链接,并将其保存在ithURL变量中。
JavaScript还可以根据其 ID 从 HTML 文档中提取超链接。
var myURL = document.links.nameItem("YOUR_ID").href
让我们通过一个例子更好地理解这两个属性:
示例 3
在下面的代码片段中,我们在文档中添加了一个新的超链接,并为其提供了 ID。然后,我们使用此 ID 来提取相关的超链接。
<!DOCTYPE html> <html> <body> <a id = "mylink" href="https://tutorialspoint.com">Link to my site</a> <br><br> Link to courses: <a href="https://tutorialspoint.com/php">PHP</a> <br> <a href="https://tutorialspoint.com/java/">Java</a> <br> <a href="https://tutorialspoint.com/html5/">HTML</a> <br> <a href="https://tutorialspoint.com/css/">CSS</a> <br><br> <button onclick = "findLinks()"> Find Links ! </button> <div id = "result"></div> <script> var links = document.links; var text = ""; var resultDiv = document.getElementById("result"); function findLinks(){ text += "<br>The number of links in the document is : " + links.length text += "<br>These are the links in the document: <br><br>"; text += links.namedItem("mylink").href + "<br>"; for(var i = 0 ; i < links.length ; i++){ if(links.item(i).id == "mylink") continue; <br><br> text += links.item(i).href + "<br>"; } resultDiv.innerHTML = text; } </script> </body> </html>
“查找链接!”按钮触发findLinks()JavaScript 函数。因为我们不想记录重复的超链接,所以需要跳过 ID 属性等于“mylink”的链接。链接的id属性用于该比较。
结论
document 对象的 links 属性对于操作 HTML 文档中存在的超链接非常有用。各种带有 ID 的超链接可以用作 Web 应用程序中的标准,提供便利。