我开发了一个web应用程序启动,我经常遇到以下代码。为了速度和可读性原因创建新的XHTML标记是否是一个好主意?
<div class="items container">
<div class="item">
<div class="property propertyA">Some stuff</div>
</div>
</div>
我们典型的jQuery选择看起来非常相似:
$("div.items.container > div.item > div.property.propertyA").map(doStuff());
的事情是,我们经常称之为类选择了到这个地步的大部分时间花在执行已JS都花在运行jQuery的内部curCSS方法。
虽然我们可能只有一个物品的容器它可能包含几百几十能的每个项目。实际上,在任何给定时间,页面上总是存在大约5K + html标签。
我们在客户端捆绑越来越多的逻辑,以适应新的功能。只要某些浏览器在某些情况下已经显示致命的“您的页面无响应”消息,我认为这将无法持续。我们正在考虑很快重构整个客户端。
我想在一个新的XML命名空间中实现一些新的XHTML代码,因此它可能看起来像:
<items>
<item>
<propertyA>Some Stuff</div>
</item>
</items>
然后我就可以选择下列方式:
$("items > item > propertyA")
或直接
$("propertyA")
纠正我,如果我错了,但通过摆脱我慢的CSS选择器支持一些“getElementsByTagName”可以为我节省很多周期,同时使我的css cuter和我的整体代码整齐。这样的解决方案是否有效?
BTW:在这里,我们与IE不存在,Firefox 3或假设运行|| Chrome 3 +是我们的目标受众。
请尝试没有jQuery(正如你所说的使用getElementsByTagName),我想你会发现速度的巨大提高。 – 2010-07-08 16:00:16
另外,如果您只使用最新版本的FF + Chrome,则可以使用文档。querySelectorAll()和本地使用CSS选择器 – Rixius 2010-07-08 16:02:51
没有:的确,但后来我无法完成文章中描述的完整选择器。 Rixius:认为jQuery 1.4使用querySelectorAll() – matdumsa 2010-07-08 16:12:05