var p = $("<p>1111111</p><p>1111111</p>");
var _p = p[0]
我们知道,当我们执行p [0]时,我们得到一个原始的js dom对象。是[]构建运算符还是其他任何东西?
如何拥有自己的Object support []运算符?
答案 0 :(得分:0)
[]
表示一个数组,不是特别限制于Jquery。当您使用Jquery选择器时,它将匹配元素集作为数组返回(几乎等于本机数组)。你显示的零是一个数组索引,这意味着获得第一个匹配的元素。
答案 1 :(得分:0)
您可以通过索引手动分配项目来实现相同的结果,可以使用JavaScript 这样,您将拥有自定义对象成员/属性和索引值。
var $ = function(selector) {
function ctor(items) {
this.count = function() {
return items.length;
};
this.get = function(ind) {
return items[ind];
};
this.log = function() {
for (var i = 0; i < items.length; i++)
console.log("Item " + i + ": " + items[i].outerHTML);
};
for (var i = 0; i < items.length; i++)
this[i] = items[i];
}
var items = document.querySelectorAll(selector);
return new ctor(items);
};
var $divs = $("div");
console.log("Count = " + $divs.count());
console.log($divs[0].innerText);
console.log($divs.get(1).innerText);
$divs.log();
&#13;
<div id="div1">1</div>
<div id="div2">2</div>
<div id="div3">3</div>
&#13;