最近在看网上的前端笔试题,借鉴别人的自己来试一下:

题目:

写一段脚本,实现:当页面上任意一个链接被点击的时候,alert出这个链接在页面上的顺序号,如第一个链接则alert(1), 依次类推。

有一点需要注意的是:在html中<a><area>标签中都有可能出现href

html中:

<!DOCTYPE html>
<html lang="zh" ><head> <title>demo</title><style type="text/css"></style></head><body ><div class="box"><div class="item"><a href='#'>默认</a></div><div class="item"><a href='#'>销量</a></div><div class="item"><a href='#'>信用</a></div></div><script type='text/javascript' src='practice.js'></script></body>
</html>

js中:

var body = document.getElementsByTagName('body')[0],links = document.getElementsByTagName('a'),len   = links.length;var foo = function(el){var tagName = el.target.tagName.toLowerCase();if((tagName==='a'||tagName==='area')&&el.target.href){for(var i=0;i<len;i++){if(links[i]===el.target){alert(i+1);}}}
};body.addEventListener('click',foo,false);

我所看到的文章的作者写的特别好,他说,最好将事件监听函数添加在父级元素上,这样在连接比较多的时候也能够性能比较好,毕竟js的冒泡监听机制为我们提供了这个便利。

转载于:https://www.cnblogs.com/skylar/p/3645637.html

一天一小段js代码(no.4)相关推荐

  1. js图片转二进制流_V8是如何执行一段JS代码的?

    汇编器 编译器 解释器 解释执行和解释执行 什么是V8? V8执行Js代码的过程 汇编器 编译器 解释器 众所周知,计算机只能理解机器语言,而我们平时编程用的通常是高级语言,所以源代码通常都要经过层层 ...

  2. 一小段jQuery代码的分析与优化

    今天刚回家,QQ群里就看到有人求助优化一段jQuery代码,简单看了一下,发现如果对jQuery这东西只停留在用的层面,而不知其具体实现的话,真的很容易用出问题来.这也是为什么近期我一直不怎么推崇用j ...

  3. c# 如何在webbrowser控件执行一段JS代码

    var doc = this.WebBrowser.Document.DomDocument as IHTMLDocument2; var win = doc.parentWindow as IHTM ...

  4. js调用android代码怎么写,Android端使用WebView注入一段js代码实现js调用android

    需求:为网页上个链接增加点击事件,但是这个链接无法增加js代码 url:http://public.rongcloud.cn/view/D4F444BE2D94D760329F3CF38B4AE35C ...

  5. JavaScript 技术篇-一段js代码展示可以随鼠标移动变换样式的卡通人物,动态女生眼睛跟着鼠转动

    把这段代码写在一个 html 文件里,然后用浏览器打开. <!DOCTYPE html> <html> <body><script src="htt ...

  6. 写一段js代码 生成心形动画,动画路径内部填充渐变色

    以下是一个用纯JS和HTML5 Canvas实现的生成心形动画的代码,路径内部填充渐变色: <canvas id="myCanvas"></canvas>& ...

  7. 这段js代码得拯救你多少时间

    1.应用案例: var Mouse = function () {// Look! no that = this! this.position = [0, 0];if (document.addEve ...

  8. 一小段Python代码,破解加密zip文件的密码

    今天的文章来自 盏茶作酒 同学.他在老电脑中发现了一个加密的 zip 文件,于是用 Python 破解了文件密码.在破解的过程中出现了内存爆炸的问题,通过阅读 Python 源代码找到了解决方案. 下 ...

  9. JSON 列转行的一小段无用代码

    json: 1 [{"iTagID":9,"cTag":"Liuxx测试-标签-1","cUnit":"TT& ...

  10. java程序重新执行一遍_我怎么在jsp里只执行其中一小段java代码,而不把整个页面都重新加载一遍?...

    嗯,比如说第一个里是省份,第二个是市,根据省份的选择变化来变化市名,从数据库里选,怎么实现? 用xmlhttp来实现 查了一下还蛮难上手的,唯一的方法? 用iframe,我刚做完类似的项目,挺管用 请 ...

最新文章

  1. 用jQuery写的一个翻页,并封装为插件,
  2. git安装+错误:Failed to install ‘IRkernel‘ from GitHub: Git does not seem to be installed on your system
  3. 【BZOJ4069】【APIO2015】巴厘岛的雕塑 [贪心][DP]
  4. 阿里云容器服务中国最佳,进入 Forrester 报告强劲表现者象限
  5. 北哥大话Yii2缓存机制 - File缓存
  6. python学习之路day1
  7. 纯JPA 入门小案例(2)
  8. 3.6 SM30维护表数据
  9. mysql innoback_innobackex工具备份mysql数据
  10. STL(七)——队列queue优先队列priority_queue
  11. 华为云GaussDB新产品特性亮相DTC2021,新品开源预告
  12. 条款三 : 操作符is或as优于强制转型
  13. 静态内部类实现单例_为什么用枚举类来实现单例模式越来越流行?
  14. Solidity教程序列1 - 类型介绍
  15. 西工大机考《概率论与数理统计》大作业网考
  16. GBase 8c 备份控制函数(三)
  17. Computer Viruses
  18. Android Studio 模拟器重启(解决模拟器卡死问题)
  19. RoboCup救援仿真和代理开发框架手册
  20. python生产环境部署

热门文章

  1. bootstrap4 左侧导航栏 优秀 大气_Bootstrap4从入门到精通视频教程
  2. 1.1介绍线程和运行(Introducing Thread and Runnable)
  3. Spring之ApplicationContext
  4. 【渝粤教育】国家开放大学2019年春季 2766养羊技术 参考试题
  5. 【渝粤教育】国家开放大学2018年春季 0275-21T内科护理学 参考试题
  6. windows下的yolov3的运行及结果,实例所需的weights,cfg与names文件
  7. 【大规模深度强化学习(一) 】深度强化学习中的异步方法(A3C)
  8. ubuntu16.04下ROS操作系统学习笔记(二)命令工具了解和仿真小海龟
  9. [转]SDI模式下,在视图中添加按钮
  10. linux 使用systemctl 启动服务报错: Error: No space left on device