我试图制作一个干净的jQuery代码,我把所有的东西都放在一个我称之为"每个"的函数中.问题是没有任何反应,并且在控制台中没有出现任何错误.
这是一个示例代码:
$(function() {
$('.myElement').each(function() {
if($(this).children()) {
myFunction();
} else {
myFunction('.myOtherElement');
}
});
});
function myFunction(selector) {
if(!selector) {
$(this).html('Finish');
} else {
$(this).find(selector).html('Finish');
}
}
Run Code Online (Sandbox Code Playgroud)
如果我把我的功能内容放在.each它可以工作,但在一个单独的功能,但我认为它应该工作.为什么这段代码不起作用?
执行上下文(this)在这种情况下是不同的,您可以使用.call()来应用它
$(function() {
$('.myElement').each(function() {
if($(this).children()) {
myFunction.call(this);
} else {
myFunction.call(this, '.myOtherElement');
}
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
82 次 |
| 最近记录: |