【发布时间】:2011-08-05 01:06:05
【问题描述】:
我有这个问题(现在是吗?):
让我们拥有这个 HTML:
<div>
<p></p>
<p id="bar"></p>
</div>
<div>
<p id="foo"></p>
<p id="baz"></p>
</div>
简单。
在 jQuery 中,我们为所有 div 添加了函数(例如“点击”):
$('div').click(function(){
$(this).doSomething($(this))
.find('#baz')
.doSomethingWithCallback ({args}, callbackFunction($FIND_RESULT) );
});
很明显,变量 $FIND_RESULT 不存在 - 我想知道我怎样才能得到最后一个 .find() 查询的结果?
有什么办法,或者我必须打破我的疯狂链(或重复 $(this).find() 作为参数)?
编辑:IRL 示例:
function hide($div) { $div.css({'display': 'none'});
function ...
$(this)
.anyFunction()
.find('.foo')
.animate({opacity: 0}, 250, hide(^that^));
}
【问题讨论】:
-
doSomething和doSomethingWithCallback是什么功能?你能举一些现实生活中的例子吗? -
我不太明白这个问题。您是否尝试将
.find()的结果作为参数传递给另一个函数? -
添加了 doSomething IRL :)
-
杰西:是的。也许子集不是正确的词,因为我基本上对 $(this) 中元素的子元素进行了另一个查询?
-
你不能用.find('.foo').each(function(){$(this).animate(x,x, hide(this));});跨度>