在不使用jquery的情况下查找页面中的所有锚点并附加函数
Finding all anchors in a page and attaching functions without jquery
我在一个小应用程序中工作,主要使用jquery,一切都很好,但我想用简单的javascript重写jquery的每个部分,以完全理解我在做什么。
我读过这篇文章,一切都很合理,但我无法在浏览器中运行任何代码。
如何选择所有<a>标记并注册onclick事件?
这是我的代码:
<html>
<head>
<script type="text/javascript">
var a = document.getElementsByTagName('a');
var f = function () {alert('ok');}
for (var i = a.length - 1; i >= 0; i--) {
a[i].onClick = f;
}
</script>
</head>
<body>
<a href="#">test1</a>
<a href="#">test2</a>
</body>
</html>
在jquery中,我只需使用它来查找所有锚点,并在单击时运行我的函数:
$('a').on('click',function (){
alert('ok');
});
有什么想法吗?提前感谢Gustavo
我会这样做:
var anchors = document.querySelectorAll("a"),
i;
for (i=0; i<anchors.length; i+=1) {
anchors[i].addEventListener("click", function() {
alert("triggered!");
});
}
<a href="#">test1</a>
<a href="#">test2</a>
如果浏览器支持Array.prototype.forEach,这里有一个较短的版本(大多数现代浏览器都支持)
var anchors = document.querySelectorAll("a");
anchors.forEach(function(a) {
a.addEventListener("click", function() {
alert("triggered!");
});
});
<a href="#">test1</a>
<a href="#">test2</a>
相关文章:
- 执行ajax成功函数-jQUERY
- 函数jquery.html()不提供数据属性集值
- 将变量放入ajax函数JQuery
- 函数jquery的未定义返回
- 如何在嵌套函数jquery上保持变量的值不变
- 用我的函数jquery给出数据/参数
- Firefox在调用函数(jquery)时冻结
- 在传递节时触发一个函数 - jquery
- 循环执行数组函数jQuery
- 在函数中调用另一个函数JQuery
- 对象不是函数-Jquery/JavaScript
- TypeError:对象不是函数-jquery
- 获取函数jQuery设置的属性
- 从函数jquery获取更新的变量值
- 切换而不是悬停函数jQuery
- 函数jQuery.animation()运行了两次行,但不起作用
- 使用函数 jQuery 获取变量
- 自执行函数 jquery 与 JavaScript 的区别
- 从回调函数 -JQuery 获取返回值
- 一个接一个地执行函数 JQUERY