【发布时间】:2013-03-17 05:44:33
【问题描述】:
将字符串“选择器”传递给 jQuery 函数后:
$('#onenode')
返回一个 jQuery 对象的数组。
这些对象的方法之一是“html”,这就是为什么:
$('#onenode').html('hello!');
工作。
不过……
这个:
$('.somenodes')
返回一个jQuery对象数组,这个数组中的每个对象都有方法“html”。
那么如何:
$('.somenodes').html('hello');
工作? “html”方法必须是返回的数组对象的方法。
因此,我假设 Array 对象的“html”方法类似于:
html: function(value) {
for(var i=0; i<this.length; i+=1) {
this[i].html(value);
}
}
这些都是假设,我很猜测。
我正在尝试创建自己的使用“选择器”的小型库,但我正在努力解决这部分问题。我知道这可能是不正确的——有人可以解释一下 jQuery 是如何做到的吗?
【问题讨论】:
-
两个选择器都返回一个 jQuery 对象。
-
与其猜测为什么不直接开源和检查呢?
-
可以看jQuery的开发源码。评论非常好,易于阅读:code.jquery.com/jquery-1.9.1.js
-
或使用这个 jQuery 源代码查看器! james.padolsey.com/jquery/#v=1.7.2&fn=jQuery.fn.html
标签: javascript jquery