0

0

获取多个 标签的 href 值:JavaScript 教程

碧海醫心

碧海醫心

发布时间:2025-08-19 18:52:33

|

1054人浏览过

|

来源于php中文网

原创

获取多个 <a> 标签的 href 值:javascript 教程 标签的 href 值:javascript 教程" />

本教程旨在解决如何使用纯 JavaScript 获取页面中多个 标签的 href 值,并在用户点击链接时,通过弹窗提示用户即将跳转的 URL,最后实现页面跳转。我们将探讨使用 querySelectorAll 和事件委托两种方法,确保所有链接都能正确触发提示和跳转。

在网页开发中,经常需要获取页面上多个具有相同特征的元素,并对它们进行统一的操作。本教程将以获取多个 标签的 href 值为例,介绍如何使用 JavaScript 实现这一功能,并在用户点击链接时进行提示和跳转。

方法一:使用 querySelectorAll

querySelectorAll 方法可以获取所有匹配指定 CSS 选择器的元素,返回一个 NodeList 集合。我们可以遍历这个集合,为每个元素添加点击事件监听器。

const links = document.querySelectorAll('.link');

links.forEach(link => {
  link.addEventListener('click', function(e) {
    e.preventDefault(); // 阻止默认的跳转行为
    const href = this.href;
    alert('You are going to: ' + href);
    window.location = href; // 跳转到 href 对应的 URL
  });
});

代码解释:

立即学习Java免费学习笔记(深入)”;

  1. document.querySelectorAll('.link'):获取所有 class 为 "link" 的 标签,返回一个 NodeList 集合。
  2. links.forEach(link => { ... }):遍历 NodeList 集合,为每个 标签添加事件监听器。
  3. e.preventDefault():阻止 标签的默认跳转行为,防止在弹窗提示之前就跳转页面。
  4. this.href:获取当前点击的 标签的 href 属性值。
  5. alert('You are going to: ' + href):弹出提示框,显示即将跳转的 URL。
  6. window.location = href:将当前页面跳转到 href 对应的 URL。

HTML 示例:

方法二:使用事件委托

事件委托是指将事件监听器添加到父元素上,利用事件冒泡机制,当子元素触发事件时,父元素也能监听到。这种方法可以减少事件监听器的数量,提高性能。

椒图AI
椒图AI

中文AI修图神器,一句话搞定复杂修图

下载
const container = document.querySelector('#container');

container.addEventListener('click', function(e) {
  if (e.target.classList.contains('link')) {
    e.preventDefault();
    const href = e.target.href;
    alert('You are going to: ' + href);
    window.location = href;
  }
});

代码解释:

立即学习Java免费学习笔记(深入)”;

  1. document.querySelector('#container'):获取 id 为 "container" 的父元素。
  2. container.addEventListener('click', function(e) { ... }):为父元素添加点击事件监听器。
  3. e.target:表示触发事件的元素,即被点击的元素。
  4. e.target.classList.contains('link'):判断被点击的元素是否包含 "link" class,如果是,则执行后续操作。
  5. e.preventDefault():阻止 标签的默认跳转行为。
  6. e.target.href:获取被点击的 标签的 href 属性值。
  7. alert('You are going to: ' + href):弹出提示框,显示即将跳转的 URL。
  8. window.location = href:将当前页面跳转到 href 对应的 URL。

HTML 示例:

总结

本教程介绍了两种使用纯 JavaScript 获取多个 标签的 href 值的方法:querySelectorAll 和事件委托。querySelectorAll 方法简单直观,适用于元素数量较少的情况;事件委托方法可以减少事件监听器的数量,提高性能,适用于元素数量较多的情况。在实际开发中,可以根据具体情况选择合适的方法。

注意事项:

  • 确保 HTML 结构正确, 标签包含 href 属性。
  • 如果使用了事件委托,需要确保父元素存在且能够监听子元素的点击事件。
  • e.preventDefault() 方法可以阻止默认的跳转行为,确保在弹窗提示之后再进行跳转。

希望本教程能够帮助你更好地理解和使用 JavaScript 获取多个 标签的 href 值。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
php中foreach用法
php中foreach用法

本专题整合了php中foreach用法的相关介绍,阅读专题下面的文章了解更多详细教程。

97

2025.12.04

class在c语言中的意思
class在c语言中的意思

在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

489

2024.01.03

python中class的含义
python中class的含义

本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

17

2025.12.06

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

485

2023.08.04

js函数function用法
js函数function用法

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。本专题提供js函数function用法的相关文章内容,大家可以免费阅读。

163

2023.10.07

location.assign
location.assign

在前端开发中,我们经常需要使用JavaScript来控制页面的跳转和数据的传递。location.assign就是JavaScript中常用的一个跳转方法。通过location.assign,我们可以在当前窗口或者iframe中加载一个新的URL地址,并且可以保存旧页面的历史记录。php中文网为大家带来了location.assign的相关知识、以及相关文章等内容,供大家免费下载使用。

226

2023.06.27

alert怎么实现换行
alert怎么实现换行

alert通过使用br标签来实现换行。更多关于alert相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

492

2023.11.07

go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

24

2026.01.31

go语言 math包
go语言 math包

本专题整合了go语言math包相关内容,阅读专题下面的文章了解更多详细内容。

13

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

CSS教程
CSS教程

共754课时 | 26.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号