如果我有代码来拉下一个jQuery对象,然后再进行一些调用
$("a.postSyncLink").click(function () { var resultsTarget = $("span",$(link).parent().next()); resultsTarget.html("<img style='position: absolute;' src='" + waitimgurl + "'/><span>Sync in progress</span>"); $.get($(this).attr("data-url"),function (returnVal) { resultsTarget.text(returnVal); }); });
随后(和不必要地)在jQuery函数中包装该对象,这被认为是不好的做法? jQuery是否优化了这样的多余调用?
$("a.postSyncLink").click(function () { var resultsTarget = $("span",$(link).parent().next()); $(resultsTarget).html("<img style='position: absolute;' src='" + waitimgurl + "'/><span>Sync in progress</span>"); $.get($(this).attr("data-url"),function (returnVal) { $(resultsTarget).text(returnVal); }); });
解决方法
如果它们不被用来克隆原始的jQuery对象,那么是的,它是坏的:
http://api.jquery.com/jQuery/#cloning-jquery-objects
传递给jQuery的jQuery对象被克隆,这是处理器时间,我不会浪费.
当存储对jQuery对象的引用时,我发现使用$前缀变量名有用,这有助于我记住它是一个jQuery对象,不需要重新包装:
$("a.postSyncLink").click(function () { var $resultsTarget = $("span",$(link).parent().next()); $resultsTarget.html("<img style='position: absolute;' src='" + waitimgurl + "'/><span>Sync in progress</span>"); $.get($(this).attr("data-url"),function (returnVal) { $resultsTarget.text(returnVal); }); });
原文地址:https://www.jb51.cc/js/151973.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。