Jar*_*der 8 jquery jquery-selectors
我是jQuery的新手,我在理解对象的数组符号时遇到了一些麻烦.阅读jQuery文档和本文,似乎你可以通过做类似的事情来引用选择器返回的对象中的第n项
$('.foo')[n];
Run Code Online (Sandbox Code Playgroud)
正确?我应该能够串联使用jQuery操作/效果函数吗?有点像(这对我不起作用)
$('.foo')[0].hide();
Run Code Online (Sandbox Code Playgroud)
我也试过,但没有用:
var arr = $('.foo').get();
arr[0].hide();
Run Code Online (Sandbox Code Playgroud)
我的语法有问题吗?做我想做的最好的方法是什么?
谢谢!
nnn*_*nnn 18
的[0]数组符号和.get()方法都返回一个参照本发明的DOM元素jQuery对象内,并且不能使用上DOM元素jQuery方法.
请尝试使用该eq()方法,因为它返回一个新的jQuery对象:
$('.foo').eq(0).hide();
Run Code Online (Sandbox Code Playgroud)
另请注意,使用数组表示法或.get()获取对DOM元素的引用意味着您可以直接访问DOM元素的属性,例如:
var firstElId = $('.foo')[0].id;
Run Code Online (Sandbox Code Playgroud)
... 如果没有与选择器匹配的元素,$('.foo')[0]则会有第二个音符,undefined并且$('.foo')[0].id会给出错误'.foo'.
当您将jQuery对象作为数组引用时,您将获得一个DOM元素.您需要将其转换回jQuery对象以使用.hide()等方法
var bar = $('.foo')[n];
var $bar = $(bar);
$bar.hide();
Run Code Online (Sandbox Code Playgroud)
或者只使用jQuery的eq()方法:
var bar = $('.foo').eq(n);
bar.hide();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2528 次 |
| 最近记录: |