我现在潜入jQuery已经有好几天了,而且看起来很好 - 但是我总是对此感到困惑: 有时候,jQuery选择会返回一个普通DOM元素的数组,有时我会得到一个类似于数组的jQuery对象。
例如选择ID:
var note = $('#note')
console.log(note.val());
工作得很好 - 它是一个jQuery包装的元素,我可以使用所有的jQuery方法。
但必须通过类
选择它var notes = $('.notes');
_.each(notes, function (element) {
element = $(element);
console.log(element.val());
});
似乎对我来说非常难看 - 是不是有一种简单的方法可以让我总是回到jQuery包装?
我想这与性能方面有关,但我想通过非ID选择器选择并立即使用包装的jQuery对象。
由于
答案 0 :(得分:1)
我认为您缺少的是当您使用$(selector)
创建集合时,它会创建一个jQuery对象,其中包含由选择器表示的DOM元素的数组。
如果集合中的每个元素然后被包装在jQuery对象中,那么该对象将是巨大的。
简而言之,没有神奇的方法来做你想要的事情
答案 1 :(得分:0)
你正在获得JQuery包装集,它是包含其中所有元素的数组。在数组上运行$.each
逐个迭代这些元素。
换句话说
$('.notes')[0]
将为您提供该选择中的第一个元素。
在这种特殊情况下,如果您正在寻找价值,您只需执行console.log(element.value);