【发布时间】:2016-11-18 00:19:06
【问题描述】:
我有一个要从中删除 jQuery 的函数:
var hunt = new RegExp(action.search);
$('a').filter(function() {
return hunt.test(this.href);
}).click(doStuff);
我正在尝试使用 vanilla javascript 重写此函数。这是我到目前为止所拥有的,但它不起作用
var hunt = new RegExp(action.search);
var aSelector = document.getElementsByTagName('a');
var arr = Array.prototype.filter.call(aSelector, function(el){
return hunt.test(el.href)
});
for(var i=0; i<arr.length; i++){
var elem = arr[i].getAttribute('href');
elem.onclick = function(){
doStuff();
};
}
我猜测 jQuery 选择器的行为与 document.getElementsByTagName 略有不同,但我真的不知道发生了什么。任何帮助将不胜感激。谢谢
【问题讨论】:
-
var elem = arr[i].getAttribute('href');获取每个元素的“href”属性值。然后,您尝试为返回的值分配一个点击处理程序。
-
规则#1:简单地说“不起作用”并不是写问题的好方法。有错误吗?预期与实际行为是什么?
标签: javascript jquery arrays jquery-selectors