在应用Cufon之前检查元素是否存在

问题描述:

我有一系列元素#document h1, #content h2,我知道这些元素可能会出现在整个网站的页面上;一些网页并非全部。在应用Cufon之前检查元素是否存在

我在做什么迭代通过数组,并检查元素是否存在 - 如果它不,我拼接它的数组。然后我使用toString方法将其余元素传递给Cufon

<script> 
    $(function(){ 

     var eurostyle = ["#container h1","#content h2","#content h3","#content h4","#content .sidebar ul span", "#sitenav ul.menu span"]; 

     for (i=eurostyle.length-1;i >=0;i--) { 
      if (!$(eurostyle[i]).length) { 
       eurostyle.splice(i,1); 
      } 
     } 

     Cufon.replace(eurostyle.toString(),{fontFamily: "Eurostile"}); 

    }); 
</script> 

我很好奇,如果这个技术是值得的?
它是否提高性能或检查每个元素是否存在,实际上减慢浏览器?

Cufon已经检查它们是否存在使用jquery的选择器引擎(假设它存在)。选择器越简单,处理能力越低。

不幸的是,遵循这条路径可能会导致非常干净的标记。

我的想法是,你的代码只是与cufon重复。

+0

啊,Cufon检查一个元素是否存在?那是的,这是毫无意义的。谢谢! – mindwire22 2011-01-26 23:09:33