【发布时间】:2015-12-24 18:03:01
【问题描述】:
这个函数我做了,还是新的,不知道怎么粗略处理。
var $;
(function() {
$ = function(e) {
return new query(e);
};
var query = function(e) {
var e = document.querySelectorAll(e), i;
for (i = 0; i < e.length; i++) {
this[i] = e[i];
}
this.length = e.length;
return this;
};
$.fn.prototype = {
hide: function() {
var i;
for (i = 0; i < this.length; i++) {
this[i].style.display = 'block';
}
return this;
},
hasClass: function (klass) {
var e = this, i;
var t = [];
for (i = 0; i < e.length; i++) {
var k = e[i].className;
var array = k.split(' ');
// If the element has the class, add it for return
if (array.indexOf(klass) > -1) {
t.push(e[i]);
}
}
// Return the list of matched elements
return t;
}
}
} ());
window.onload = function() {
$(".element").hasClass("someClass").hide();
}
是的,就是上面的代码。我想我已经匹配了这个类,但问题是,它没有返回元素。我是原型设计的新手,所以请不要苛刻。我真的需要修复这个。请不要告诉我去吃 jquery。我不想仅仅因为我想要一些 css 选择器就使用那个庞大的库。
【问题讨论】:
-
我不清楚你想要做什么,你期望发生什么,以及真正发生了什么,所以你能澄清你的问题吗?
-
我希望隐藏具有
someClass类的元素,但它不起作用。它没有返回元素。但实际上它在使用return this时与其他功能一起使用。我想从t=[]传递元素,但遗憾的是,它没有返回我想要的。希望你能理解。对不起,我的英语不太好 -
使用sizzle,sizzle是jquery的核心,但只包含'getElement'部分sizzlejs.com
标签: javascript return