Abi*_*bie 6 javascript jquery frameworks prototypejs
我们正在考虑将我们的网站从Prototype转换为jQuery.由于对Prototype非常熟悉,我很清楚Prototype的内容,我发现它有限制或烦人.
我对jQuery用户的问题是:在使用jQuery一段时间之后,你觉得什么令人沮丧?是否有关于jQuery的事情让你考虑切换(返回)到Prototype?
我认为唯一能让我知道的是,当我对单个元素进行选择查询时,我必须记住它返回一个元素数组,即使我知道只有一个元素.通常,除非您想直接与元素交互而不是通过jQuery方法,否则这没有任何区别.
可能我遇到的唯一真正的问题是 $(this) 范围问题。例如,如果您使用内置的 JQuery .each() 函数对元素和子元素执行嵌套 for 循环,那么 $(this) 指的是什么?在这种情况下,它应该指的是最内部的范围,但并不总是如此。
简单的解决方案是在进一步深入链之前将 $(this) 缓存到变量中:
$("li").each(function() {
// cache this
var list_item = $(this);
// get all child a tags
list_item.find("a").each(function() {
// scope of this now relates to a tags
$(this).hide("slow");
});
});
Run Code Online (Sandbox Code Playgroud)