我经常在jQuery中使用each
方法,例如:
$('#thing img').each(function(){
//do some stuff
});
...在jQuery对象中的每个元素上执行函数。 是否有方法/语法对对象中唯一(或第一个匹配的)元素执行操作?
我在想像
$('#thing img').do(function(){
//do some stuff
});
我不需要使用jQuery,但可以,因为有问题的应用程序已经使用它。
答案 0 :(得分:3)
请不要使问题复杂化:
var thisImg = $('#thing img')[0];
//do some stuff with thisImg
答案 1 :(得分:2)
您可以使用eq选择器。
尝试:
$('#thing img').eq(0).each(function(){
//do some stuff
});
或
$('#thing img:eq(0)').each(function(){
//do some stuff
});
或(基于@John的输入)
$('#thing img').first().each(function(){
//do some stuff
});
答案 2 :(得分:2)
只需将选择器限制为第一个元素,如下所示:
$('#thing img:eq(0)').each(function(){
//do some stuff on the first response only
});
答案 3 :(得分:1)
你使用return false
语句在你的东西完成后打破循环
$('#thing img').each(function(){
//do some stuff for 1st matched item then
return false;
});
答案 4 :(得分:1)
(function($){
$.fn.me = function(func) {
func.call(this[0]);
return this;
}
})(jQuery);