使用MVC和jQuery时,我更多地使用CSS。我想到的一个问题是,在使用元素ID与类的情况下,哪种方法最好。如果我使用元素ID,则jQuery中的选择器会更短。例如:
#imageTag... $('#imageTag')
#searchTag... $('#searchTag')
作为一种替代方案,它可以用一个父容器元素进行结构化。#searchTool, #classifyTool .tag
在这种情况下,可以使用选择器如$('#searchTool .tag')或$('#classifyTool .tag')。当页面中有多个类的实例时(例如.tag),这种方法特别有用。你只需要更改父容器对象。这只是一个简单的理论示例,不旨在代表真实样式,只是描绘概念。
所以有两个问题:
1.假设页面上有大量样式,是否会影响页面/CSS或jQuery的性能?
2.基于您的经验,第二种方法似乎更灵活和可维护。您有什么想法?
是否存在更好的替代方案?
谢谢
getElementsByClassName()
方法,所以类名在大多数浏览器中不应过于缓慢。唯一失败的是IE,在这里确实是一个重要因素。此外,我应该指出,我没有查看jQuery的Sizzle选择器引擎代码,因此我不知道引擎是否使用此方法来优化性能。可以使用新的QuerySelectorAll()
方法来加快查询速度,使jQuery选择器速度变得更不相关,但支持性更少。 - Dan Herbert