我正在制作一个函数,将RGB颜色转换为十六进制代码,反之亦然。HTML是一个div中由6个输入组成的组( ID为rgbHex)。当用户键入6个文本框中的任何一个时,我希望调用此函数。
对于那些想要代码的人:
<div id="rgbHex">
<input id="hr" /> <input id="hg" /> <input id="hb" /> <br/>
<input id="rr" /> <input id="rg" /> <input id="rb" /> <br/>
</div>因为我要放在的网页上有多个<input>,所以我想确保只有当用户在这6个文本框中输入一个时才调用该函数。
当我在IDE中输入$('#rgbHex input')时,它给我的警告是Inefficient jQuery Usage。当我使用$('input', '#rgbHex')时,警告就消失了。所以我的问题是:为什么后者比前者更有效率?
发布于 2013-12-31 03:21:18
它并不是很低效率,但是可以像您的编辑器所建议的那样,通过将上下文分离来进行微观优化;它大致相当于:
$('#rgbHex').find('input')这在内部被优化为立即使用getElementById()和getElementsByTagName(),而不必使用Sizzle来执行查询。
和任何事情一样,只有通过自己的测量,才能客观地判断这是否会产生影响。
https://stackoverflow.com/questions/20851139
复制相似问题