5

如果我使用 jquery 来选择我所有的文本输入:

var inputs = $('#form input[type="text"]');

它们被包裹在 jQuery 中。我可以对他们做任何我想做的事。

inputs.css('height', '1000px');
//muhahaha!

作为一个群体,他们遵守。但我似乎错过了一些东西。我知道我可以单独看到每个对象,就好像它是一组对象一样。

console.log(inputs[0]);
// <input type="text" />

但是上面的输出只是html;当我这样做时,它不再是一个 jQuery 对象:(

inputs[0].css('font-size', '100px');
// Uncaught TypeError: Object #<HTMLInputElement> has no method 'css'

我如何继续对个人使用 jquery 的方法,而不必再次包装每个元素,或者由于某些奇怪、黑暗、莫名其妙的原因,这是不可能的?

甚至不知道从哪里开始搜索这个,到目前为止,我的 jQuery 之旅还没有让我找到答案。谢谢!

4

3 回答 3

5

看看这个页面:jQuery Filtering

inputs.eq(0).css('font-size', '100px');

在这种情况下应该做的伎俩

于 2013-04-20T02:01:53.643 回答
1

在 Jquery-API 中看到这个函数 .eq()

当通过 Array-Index 访问 JQuery 中的 Dom-Node-Collection 时,您将获得 RAW Dom-Elements,如果您使用上面给定的方法选择索引,您将获得功能增强的 jQuery-Wrapped-Elements。请参阅文档。

于 2013-04-20T02:01:49.710 回答
0

避免再次包装每个元素的唯一方法($(inputs[0]).css('font-size', '100px')

将使用纯 JavaScript。例子:inputs[0].style.fontSize = "100px";

于 2013-04-20T02:01:42.417 回答